From 709ff8741a8aafba909bad37477780a18e1bd60f Mon Sep 17 00:00:00 2001 From: qai Date: Mon, 21 Aug 2023 10:00:15 -0400 Subject: [PATCH 1/8] add mixture description and state of matter --- js/ord-schema/proto/reaction_pb.js | 643 ++++++++++++++++++++++++++++- ord_schema/proto/reaction_pb2.py | 448 ++++++++++---------- proto/reaction.proto | 60 +++ 3 files changed, 928 insertions(+), 223 deletions(-) diff --git a/js/ord-schema/proto/reaction_pb.js b/js/ord-schema/proto/reaction_pb.js index 44bb9046..0e9c40d2 100644 --- a/js/ord-schema/proto/reaction_pb.js +++ b/js/ord-schema/proto/reaction_pb.js @@ -73,6 +73,8 @@ goog.exportSymbol('proto.ord.Length', null, global); goog.exportSymbol('proto.ord.Length.LengthUnit', null, global); goog.exportSymbol('proto.ord.Mass', null, global); goog.exportSymbol('proto.ord.Mass.MassUnit', null, global); +goog.exportSymbol('proto.ord.MixtureDescription', null, global); +goog.exportSymbol('proto.ord.MixtureDescription.MixtureType', null, global); goog.exportSymbol('proto.ord.Moles', null, global); goog.exportSymbol('proto.ord.Moles.MolesUnit', null, global); goog.exportSymbol('proto.ord.Percentage', null, global); @@ -117,6 +119,8 @@ goog.exportSymbol('proto.ord.ReactionSetup.ReactionEnvironment.ReactionEnvironme goog.exportSymbol('proto.ord.ReactionWorkup', null, global); goog.exportSymbol('proto.ord.ReactionWorkup.ReactionWorkupType', null, global); goog.exportSymbol('proto.ord.RecordEvent', null, global); +goog.exportSymbol('proto.ord.StateOfMatter', null, global); +goog.exportSymbol('proto.ord.StateOfMatter.StateOfMatterType', null, global); goog.exportSymbol('proto.ord.StirringConditions', null, global); goog.exportSymbol('proto.ord.StirringConditions.StirringMethodType', null, global); goog.exportSymbol('proto.ord.StirringConditions.StirringRate', null, global); @@ -356,6 +360,48 @@ if (goog.DEBUG && !COMPILED) { */ proto.ord.Compound.Source.displayName = 'proto.ord.Compound.Source'; } +/** + * Generated by JsPbCodeGenerator. + * @param {Array=} opt_data Optional initial data array, typically from a + * server response, or constructed directly in Javascript. The array is used + * in place and becomes part of the constructed object. It is not cloned. + * If no data is provided, the constructed object will be empty, but still + * valid. + * @extends {jspb.Message} + * @constructor + */ +proto.ord.StateOfMatter = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, null, null); +}; +goog.inherits(proto.ord.StateOfMatter, jspb.Message); +if (goog.DEBUG && !COMPILED) { + /** + * @public + * @override + */ + proto.ord.StateOfMatter.displayName = 'proto.ord.StateOfMatter'; +} +/** + * Generated by JsPbCodeGenerator. + * @param {Array=} opt_data Optional initial data array, typically from a + * server response, or constructed directly in Javascript. The array is used + * in place and becomes part of the constructed object. It is not cloned. + * If no data is provided, the constructed object will be empty, but still + * valid. + * @extends {jspb.Message} + * @constructor + */ +proto.ord.MixtureDescription = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, null, null); +}; +goog.inherits(proto.ord.MixtureDescription, jspb.Message); +if (goog.DEBUG && !COMPILED) { + /** + * @public + * @override + */ + proto.ord.MixtureDescription.displayName = 'proto.ord.MixtureDescription'; +} /** * Generated by JsPbCodeGenerator. * @param {Array=} opt_data Optional initial data array, typically from a @@ -2377,7 +2423,9 @@ proto.ord.ReactionInput.toObject = function(includeInstance, msg) { additionDuration: (f = msg.getAdditionDuration()) && proto.ord.Time.toObject(includeInstance, f), flowRate: (f = msg.getFlowRate()) && proto.ord.FlowRate.toObject(includeInstance, f), additionDevice: (f = msg.getAdditionDevice()) && proto.ord.ReactionInput.AdditionDevice.toObject(includeInstance, f), - additionTemperature: (f = msg.getAdditionTemperature()) && proto.ord.Temperature.toObject(includeInstance, f) + additionTemperature: (f = msg.getAdditionTemperature()) && proto.ord.Temperature.toObject(includeInstance, f), + stateOfMatter: (f = msg.getStateOfMatter()) && proto.ord.StateOfMatter.toObject(includeInstance, f), + mixtureDescription: (f = msg.getMixtureDescription()) && proto.ord.MixtureDescription.toObject(includeInstance, f) }; if (includeInstance) { @@ -2458,6 +2506,16 @@ proto.ord.ReactionInput.deserializeBinaryFromReader = function(msg, reader) { reader.readMessage(value,proto.ord.Temperature.deserializeBinaryFromReader); msg.setAdditionTemperature(value); break; + case 10: + var value = new proto.ord.StateOfMatter; + reader.readMessage(value,proto.ord.StateOfMatter.deserializeBinaryFromReader); + msg.setStateOfMatter(value); + break; + case 11: + var value = new proto.ord.MixtureDescription; + reader.readMessage(value,proto.ord.MixtureDescription.deserializeBinaryFromReader); + msg.setMixtureDescription(value); + break; default: reader.skipField(); break; @@ -2558,6 +2616,22 @@ proto.ord.ReactionInput.serializeBinaryToWriter = function(message, writer) { proto.ord.Temperature.serializeBinaryToWriter ); } + f = message.getStateOfMatter(); + if (f != null) { + writer.writeMessage( + 10, + f, + proto.ord.StateOfMatter.serializeBinaryToWriter + ); + } + f = message.getMixtureDescription(); + if (f != null) { + writer.writeMessage( + 11, + f, + proto.ord.MixtureDescription.serializeBinaryToWriter + ); + } }; @@ -3222,6 +3296,80 @@ proto.ord.ReactionInput.prototype.hasAdditionTemperature = function() { }; +/** + * optional StateOfMatter state_of_matter = 10; + * @return {?proto.ord.StateOfMatter} + */ +proto.ord.ReactionInput.prototype.getStateOfMatter = function() { + return /** @type{?proto.ord.StateOfMatter} */ ( + jspb.Message.getWrapperField(this, proto.ord.StateOfMatter, 10)); +}; + + +/** + * @param {?proto.ord.StateOfMatter|undefined} value + * @return {!proto.ord.ReactionInput} returns this +*/ +proto.ord.ReactionInput.prototype.setStateOfMatter = function(value) { + return jspb.Message.setWrapperField(this, 10, value); +}; + + +/** + * Clears the message field making it undefined. + * @return {!proto.ord.ReactionInput} returns this + */ +proto.ord.ReactionInput.prototype.clearStateOfMatter = function() { + return this.setStateOfMatter(undefined); +}; + + +/** + * Returns whether this field is set. + * @return {boolean} + */ +proto.ord.ReactionInput.prototype.hasStateOfMatter = function() { + return jspb.Message.getField(this, 10) != null; +}; + + +/** + * optional MixtureDescription mixture_description = 11; + * @return {?proto.ord.MixtureDescription} + */ +proto.ord.ReactionInput.prototype.getMixtureDescription = function() { + return /** @type{?proto.ord.MixtureDescription} */ ( + jspb.Message.getWrapperField(this, proto.ord.MixtureDescription, 11)); +}; + + +/** + * @param {?proto.ord.MixtureDescription|undefined} value + * @return {!proto.ord.ReactionInput} returns this +*/ +proto.ord.ReactionInput.prototype.setMixtureDescription = function(value) { + return jspb.Message.setWrapperField(this, 11, value); +}; + + +/** + * Clears the message field making it undefined. + * @return {!proto.ord.ReactionInput} returns this + */ +proto.ord.ReactionInput.prototype.clearMixtureDescription = function() { + return this.setMixtureDescription(undefined); +}; + + +/** + * Returns whether this field is set. + * @return {boolean} + */ +proto.ord.ReactionInput.prototype.hasMixtureDescription = function() { + return jspb.Message.getField(this, 11) != null; +}; + + /** * Oneof group definitions for this message. Each group defines the field @@ -3808,7 +3956,9 @@ proto.ord.CrudeComponent.toObject = function(includeInstance, msg) { reactionId: jspb.Message.getFieldWithDefault(msg, 1, ""), includesWorkup: jspb.Message.getBooleanFieldWithDefault(msg, 2, false), hasDerivedAmount: jspb.Message.getBooleanFieldWithDefault(msg, 3, false), - amount: (f = msg.getAmount()) && proto.ord.Amount.toObject(includeInstance, f) + amount: (f = msg.getAmount()) && proto.ord.Amount.toObject(includeInstance, f), + stateOfMatter: (f = msg.getStateOfMatter()) && proto.ord.StateOfMatter.toObject(includeInstance, f), + mixtureDescription: (f = msg.getMixtureDescription()) && proto.ord.MixtureDescription.toObject(includeInstance, f) }; if (includeInstance) { @@ -3862,6 +4012,16 @@ proto.ord.CrudeComponent.deserializeBinaryFromReader = function(msg, reader) { reader.readMessage(value,proto.ord.Amount.deserializeBinaryFromReader); msg.setAmount(value); break; + case 5: + var value = new proto.ord.StateOfMatter; + reader.readMessage(value,proto.ord.StateOfMatter.deserializeBinaryFromReader); + msg.setStateOfMatter(value); + break; + case 6: + var value = new proto.ord.MixtureDescription; + reader.readMessage(value,proto.ord.MixtureDescription.deserializeBinaryFromReader); + msg.setMixtureDescription(value); + break; default: reader.skipField(); break; @@ -3920,6 +4080,22 @@ proto.ord.CrudeComponent.serializeBinaryToWriter = function(message, writer) { proto.ord.Amount.serializeBinaryToWriter ); } + f = message.getStateOfMatter(); + if (f != null) { + writer.writeMessage( + 5, + f, + proto.ord.StateOfMatter.serializeBinaryToWriter + ); + } + f = message.getMixtureDescription(); + if (f != null) { + writer.writeMessage( + 6, + f, + proto.ord.MixtureDescription.serializeBinaryToWriter + ); + } }; @@ -4050,6 +4226,80 @@ proto.ord.CrudeComponent.prototype.hasAmount = function() { }; +/** + * optional StateOfMatter state_of_matter = 5; + * @return {?proto.ord.StateOfMatter} + */ +proto.ord.CrudeComponent.prototype.getStateOfMatter = function() { + return /** @type{?proto.ord.StateOfMatter} */ ( + jspb.Message.getWrapperField(this, proto.ord.StateOfMatter, 5)); +}; + + +/** + * @param {?proto.ord.StateOfMatter|undefined} value + * @return {!proto.ord.CrudeComponent} returns this +*/ +proto.ord.CrudeComponent.prototype.setStateOfMatter = function(value) { + return jspb.Message.setWrapperField(this, 5, value); +}; + + +/** + * Clears the message field making it undefined. + * @return {!proto.ord.CrudeComponent} returns this + */ +proto.ord.CrudeComponent.prototype.clearStateOfMatter = function() { + return this.setStateOfMatter(undefined); +}; + + +/** + * Returns whether this field is set. + * @return {boolean} + */ +proto.ord.CrudeComponent.prototype.hasStateOfMatter = function() { + return jspb.Message.getField(this, 5) != null; +}; + + +/** + * optional MixtureDescription mixture_description = 6; + * @return {?proto.ord.MixtureDescription} + */ +proto.ord.CrudeComponent.prototype.getMixtureDescription = function() { + return /** @type{?proto.ord.MixtureDescription} */ ( + jspb.Message.getWrapperField(this, proto.ord.MixtureDescription, 6)); +}; + + +/** + * @param {?proto.ord.MixtureDescription|undefined} value + * @return {!proto.ord.CrudeComponent} returns this +*/ +proto.ord.CrudeComponent.prototype.setMixtureDescription = function(value) { + return jspb.Message.setWrapperField(this, 6, value); +}; + + +/** + * Clears the message field making it undefined. + * @return {!proto.ord.CrudeComponent} returns this + */ +proto.ord.CrudeComponent.prototype.clearMixtureDescription = function() { + return this.setMixtureDescription(undefined); +}; + + +/** + * Returns whether this field is set. + * @return {boolean} + */ +proto.ord.CrudeComponent.prototype.hasMixtureDescription = function() { + return jspb.Message.getField(this, 6) != null; +}; + + /** * List of repeated fields within this message type. @@ -4098,7 +4348,9 @@ proto.ord.Compound.toObject = function(includeInstance, msg) { proto.ord.CompoundPreparation.toObject, includeInstance), source: (f = msg.getSource()) && proto.ord.Compound.Source.toObject(includeInstance, f), featuresMap: (f = msg.getFeaturesMap()) ? f.toObject(includeInstance, proto.ord.Data.toObject) : [], - analysesMap: (f = msg.getAnalysesMap()) ? f.toObject(includeInstance, proto.ord.Analysis.toObject) : [] + analysesMap: (f = msg.getAnalysesMap()) ? f.toObject(includeInstance, proto.ord.Analysis.toObject) : [], + stateOfMatter: (f = msg.getStateOfMatter()) && proto.ord.StateOfMatter.toObject(includeInstance, f), + mixtureDescription: (f = msg.getMixtureDescription()) && proto.ord.MixtureDescription.toObject(includeInstance, f) }; if (includeInstance) { @@ -4175,6 +4427,16 @@ proto.ord.Compound.deserializeBinaryFromReader = function(msg, reader) { jspb.Map.deserializeBinary(message, reader, jspb.BinaryReader.prototype.readString, jspb.BinaryReader.prototype.readMessage, proto.ord.Analysis.deserializeBinaryFromReader, "", new proto.ord.Analysis()); }); break; + case 9: + var value = new proto.ord.StateOfMatter; + reader.readMessage(value,proto.ord.StateOfMatter.deserializeBinaryFromReader); + msg.setStateOfMatter(value); + break; + case 10: + var value = new proto.ord.MixtureDescription; + reader.readMessage(value,proto.ord.MixtureDescription.deserializeBinaryFromReader); + msg.setMixtureDescription(value); + break; default: reader.skipField(); break; @@ -4258,6 +4520,22 @@ proto.ord.Compound.serializeBinaryToWriter = function(message, writer) { if (f && f.getLength() > 0) { f.serializeBinary(8, writer, jspb.BinaryWriter.prototype.writeString, jspb.BinaryWriter.prototype.writeMessage, proto.ord.Analysis.serializeBinaryToWriter); } + f = message.getStateOfMatter(); + if (f != null) { + writer.writeMessage( + 9, + f, + proto.ord.StateOfMatter.serializeBinaryToWriter + ); + } + f = message.getMixtureDescription(); + if (f != null) { + writer.writeMessage( + 10, + f, + proto.ord.MixtureDescription.serializeBinaryToWriter + ); + } }; @@ -4701,6 +4979,365 @@ proto.ord.Compound.prototype.clearAnalysesMap = function() { }; +/** + * optional StateOfMatter state_of_matter = 9; + * @return {?proto.ord.StateOfMatter} + */ +proto.ord.Compound.prototype.getStateOfMatter = function() { + return /** @type{?proto.ord.StateOfMatter} */ ( + jspb.Message.getWrapperField(this, proto.ord.StateOfMatter, 9)); +}; + + +/** + * @param {?proto.ord.StateOfMatter|undefined} value + * @return {!proto.ord.Compound} returns this +*/ +proto.ord.Compound.prototype.setStateOfMatter = function(value) { + return jspb.Message.setWrapperField(this, 9, value); +}; + + +/** + * Clears the message field making it undefined. + * @return {!proto.ord.Compound} returns this + */ +proto.ord.Compound.prototype.clearStateOfMatter = function() { + return this.setStateOfMatter(undefined); +}; + + +/** + * Returns whether this field is set. + * @return {boolean} + */ +proto.ord.Compound.prototype.hasStateOfMatter = function() { + return jspb.Message.getField(this, 9) != null; +}; + + +/** + * optional MixtureDescription mixture_description = 10; + * @return {?proto.ord.MixtureDescription} + */ +proto.ord.Compound.prototype.getMixtureDescription = function() { + return /** @type{?proto.ord.MixtureDescription} */ ( + jspb.Message.getWrapperField(this, proto.ord.MixtureDescription, 10)); +}; + + +/** + * @param {?proto.ord.MixtureDescription|undefined} value + * @return {!proto.ord.Compound} returns this +*/ +proto.ord.Compound.prototype.setMixtureDescription = function(value) { + return jspb.Message.setWrapperField(this, 10, value); +}; + + +/** + * Clears the message field making it undefined. + * @return {!proto.ord.Compound} returns this + */ +proto.ord.Compound.prototype.clearMixtureDescription = function() { + return this.setMixtureDescription(undefined); +}; + + +/** + * Returns whether this field is set. + * @return {boolean} + */ +proto.ord.Compound.prototype.hasMixtureDescription = function() { + return jspb.Message.getField(this, 10) != null; +}; + + + + + +if (jspb.Message.GENERATE_TO_OBJECT) { +/** + * Creates an object representation of this proto. + * Field names that are reserved in JavaScript and will be renamed to pb_name. + * Optional fields that are not set will be set to undefined. + * To access a reserved field use, foo.pb_, eg, foo.pb_default. + * For the list of reserved names please see: + * net/proto2/compiler/js/internal/generator.cc#kKeyword. + * @param {boolean=} opt_includeInstance Deprecated. whether to include the + * JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @return {!Object} + */ +proto.ord.StateOfMatter.prototype.toObject = function(opt_includeInstance) { + return proto.ord.StateOfMatter.toObject(opt_includeInstance, this); +}; + + +/** + * Static version of the {@see toObject} method. + * @param {boolean|undefined} includeInstance Deprecated. Whether to include + * the JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @param {!proto.ord.StateOfMatter} msg The msg instance to transform. + * @return {!Object} + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.ord.StateOfMatter.toObject = function(includeInstance, msg) { + var f, obj = { + + }; + + if (includeInstance) { + obj.$jspbMessageInstance = msg; + } + return obj; +}; +} + + +/** + * Deserializes binary data (in protobuf wire format). + * @param {jspb.ByteSource} bytes The bytes to deserialize. + * @return {!proto.ord.StateOfMatter} + */ +proto.ord.StateOfMatter.deserializeBinary = function(bytes) { + var reader = new jspb.BinaryReader(bytes); + var msg = new proto.ord.StateOfMatter; + return proto.ord.StateOfMatter.deserializeBinaryFromReader(msg, reader); +}; + + +/** + * Deserializes binary data (in protobuf wire format) from the + * given reader into the given message object. + * @param {!proto.ord.StateOfMatter} msg The message object to deserialize into. + * @param {!jspb.BinaryReader} reader The BinaryReader to use. + * @return {!proto.ord.StateOfMatter} + */ +proto.ord.StateOfMatter.deserializeBinaryFromReader = function(msg, reader) { + while (reader.nextField()) { + if (reader.isEndGroup()) { + break; + } + var field = reader.getFieldNumber(); + switch (field) { + default: + reader.skipField(); + break; + } + } + return msg; +}; + + +/** + * Serializes the message to binary data (in protobuf wire format). + * @return {!Uint8Array} + */ +proto.ord.StateOfMatter.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.ord.StateOfMatter.serializeBinaryToWriter(this, writer); + return writer.getResultBuffer(); +}; + + +/** + * Serializes the given message to binary data (in protobuf wire + * format), writing to the given BinaryWriter. + * @param {!proto.ord.StateOfMatter} message + * @param {!jspb.BinaryWriter} writer + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.ord.StateOfMatter.serializeBinaryToWriter = function(message, writer) { + var f = undefined; +}; + + +/** + * @enum {number} + */ +proto.ord.StateOfMatter.StateOfMatterType = { + UNSPECIFIED: 0, + SOLID: 1, + LIQUID: 2, + GAS: 3, + PLASMA: 4 +}; + + + + +if (jspb.Message.GENERATE_TO_OBJECT) { +/** + * Creates an object representation of this proto. + * Field names that are reserved in JavaScript and will be renamed to pb_name. + * Optional fields that are not set will be set to undefined. + * To access a reserved field use, foo.pb_, eg, foo.pb_default. + * For the list of reserved names please see: + * net/proto2/compiler/js/internal/generator.cc#kKeyword. + * @param {boolean=} opt_includeInstance Deprecated. whether to include the + * JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @return {!Object} + */ +proto.ord.MixtureDescription.prototype.toObject = function(opt_includeInstance) { + return proto.ord.MixtureDescription.toObject(opt_includeInstance, this); +}; + + +/** + * Static version of the {@see toObject} method. + * @param {boolean|undefined} includeInstance Deprecated. Whether to include + * the JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @param {!proto.ord.MixtureDescription} msg The msg instance to transform. + * @return {!Object} + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.ord.MixtureDescription.toObject = function(includeInstance, msg) { + var f, obj = { + type: jspb.Message.getFieldWithDefault(msg, 2, 0), + details: jspb.Message.getFieldWithDefault(msg, 3, "") + }; + + if (includeInstance) { + obj.$jspbMessageInstance = msg; + } + return obj; +}; +} + + +/** + * Deserializes binary data (in protobuf wire format). + * @param {jspb.ByteSource} bytes The bytes to deserialize. + * @return {!proto.ord.MixtureDescription} + */ +proto.ord.MixtureDescription.deserializeBinary = function(bytes) { + var reader = new jspb.BinaryReader(bytes); + var msg = new proto.ord.MixtureDescription; + return proto.ord.MixtureDescription.deserializeBinaryFromReader(msg, reader); +}; + + +/** + * Deserializes binary data (in protobuf wire format) from the + * given reader into the given message object. + * @param {!proto.ord.MixtureDescription} msg The message object to deserialize into. + * @param {!jspb.BinaryReader} reader The BinaryReader to use. + * @return {!proto.ord.MixtureDescription} + */ +proto.ord.MixtureDescription.deserializeBinaryFromReader = function(msg, reader) { + while (reader.nextField()) { + if (reader.isEndGroup()) { + break; + } + var field = reader.getFieldNumber(); + switch (field) { + case 2: + var value = /** @type {!proto.ord.MixtureDescription.MixtureType} */ (reader.readEnum()); + msg.setType(value); + break; + case 3: + var value = /** @type {string} */ (reader.readString()); + msg.setDetails(value); + break; + default: + reader.skipField(); + break; + } + } + return msg; +}; + + +/** + * Serializes the message to binary data (in protobuf wire format). + * @return {!Uint8Array} + */ +proto.ord.MixtureDescription.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.ord.MixtureDescription.serializeBinaryToWriter(this, writer); + return writer.getResultBuffer(); +}; + + +/** + * Serializes the given message to binary data (in protobuf wire + * format), writing to the given BinaryWriter. + * @param {!proto.ord.MixtureDescription} message + * @param {!jspb.BinaryWriter} writer + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.ord.MixtureDescription.serializeBinaryToWriter = function(message, writer) { + var f = undefined; + f = message.getType(); + if (f !== 0.0) { + writer.writeEnum( + 2, + f + ); + } + f = message.getDetails(); + if (f.length > 0) { + writer.writeString( + 3, + f + ); + } +}; + + +/** + * @enum {number} + */ +proto.ord.MixtureDescription.MixtureType = { + UNSPECIFIED: 0, + SOLUTION: 1, + COLLOID: 2, + DISPERSION: 3, + SUSPENSION: 4, + PURE: 5, + CUSTOM: 6 +}; + +/** + * optional MixtureType type = 2; + * @return {!proto.ord.MixtureDescription.MixtureType} + */ +proto.ord.MixtureDescription.prototype.getType = function() { + return /** @type {!proto.ord.MixtureDescription.MixtureType} */ (jspb.Message.getFieldWithDefault(this, 2, 0)); +}; + + +/** + * @param {!proto.ord.MixtureDescription.MixtureType} value + * @return {!proto.ord.MixtureDescription} returns this + */ +proto.ord.MixtureDescription.prototype.setType = function(value) { + return jspb.Message.setProto3EnumField(this, 2, value); +}; + + +/** + * optional string details = 3; + * @return {string} + */ +proto.ord.MixtureDescription.prototype.getDetails = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, "")); +}; + + +/** + * @param {string} value + * @return {!proto.ord.MixtureDescription} returns this + */ +proto.ord.MixtureDescription.prototype.setDetails = function(value) { + return jspb.Message.setProto3StringField(this, 3, value); +}; + + diff --git a/ord_schema/proto/reaction_pb2.py b/ord_schema/proto/reaction_pb2.py index c3eb9c9d..61289736 100644 --- a/ord_schema/proto/reaction_pb2.py +++ b/ord_schema/proto/reaction_pb2.py @@ -27,7 +27,7 @@ -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1ford-schema/proto/reaction.proto\x12\x03ord\"\xd9\x03\n\x08Reaction\x12,\n\x0bidentifiers\x18\x01 \x03(\x0b\x32\x17.ord.ReactionIdentifier\x12)\n\x06inputs\x18\x02 \x03(\x0b\x32\x19.ord.Reaction.InputsEntry\x12!\n\x05setup\x18\x03 \x01(\x0b\x32\x12.ord.ReactionSetup\x12+\n\nconditions\x18\x04 \x01(\x0b\x32\x17.ord.ReactionConditions\x12!\n\x05notes\x18\x05 \x01(\x0b\x32\x12.ord.ReactionNotes\x12.\n\x0cobservations\x18\x06 \x03(\x0b\x32\x18.ord.ReactionObservation\x12$\n\x07workups\x18\x07 \x03(\x0b\x32\x13.ord.ReactionWorkup\x12&\n\x08outcomes\x18\x08 \x03(\x0b\x32\x14.ord.ReactionOutcome\x12+\n\nprovenance\x18\t \x01(\x0b\x32\x17.ord.ReactionProvenance\x12\x13\n\x0breaction_id\x18\n \x01(\t\x1a\x41\n\x0bInputsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12!\n\x05value\x18\x02 \x01(\x0b\x32\x12.ord.ReactionInput:\x02\x38\x01\"\xa7\x02\n\x12ReactionIdentifier\x12<\n\x04type\x18\x01 \x01(\x0e\x32..ord.ReactionIdentifier.ReactionIdentifierType\x12\x0f\n\x07\x64\x65tails\x18\x02 \x01(\t\x12\r\n\x05value\x18\x03 \x01(\t\x12\x16\n\tis_mapped\x18\x04 \x01(\x08H\x00\x88\x01\x01\"\x8c\x01\n\x16ReactionIdentifierType\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\n\n\x06\x43USTOM\x10\x01\x12\x13\n\x0fREACTION_SMILES\x10\x02\x12\x15\n\x11REACTION_CXSMILES\x10\x06\x12\n\n\x06RDFILE\x10\x03\x12\n\n\x06RINCHI\x10\x04\x12\x11\n\rREACTION_TYPE\x10\x05\x42\x0c\n\n_is_mapped\"\xbc\x06\n\rReactionInput\x12!\n\ncomponents\x18\x01 \x03(\x0b\x32\r.ord.Compound\x12-\n\x10\x63rude_components\x18\x02 \x03(\x0b\x32\x13.ord.CrudeComponent\x12\x16\n\x0e\x61\x64\x64ition_order\x18\x03 \x01(\x05\x12 \n\raddition_time\x18\x04 \x01(\x0b\x32\t.ord.Time\x12\x38\n\x0e\x61\x64\x64ition_speed\x18\x05 \x01(\x0b\x32 .ord.ReactionInput.AdditionSpeed\x12$\n\x11\x61\x64\x64ition_duration\x18\x06 \x01(\x0b\x32\t.ord.Time\x12 \n\tflow_rate\x18\x07 \x01(\x0b\x32\r.ord.FlowRate\x12:\n\x0f\x61\x64\x64ition_device\x18\x08 \x01(\x0b\x32!.ord.ReactionInput.AdditionDevice\x12.\n\x14\x61\x64\x64ition_temperature\x18\t \x01(\x0b\x32\x10.ord.Temperature\x1a\xdc\x01\n\rAdditionSpeed\x12@\n\x04type\x18\x01 \x01(\x0e\x32\x32.ord.ReactionInput.AdditionSpeed.AdditionSpeedType\x12\x0f\n\x07\x64\x65tails\x18\x02 \x01(\t\"x\n\x11\x41\x64\x64itionSpeedType\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\x0f\n\x0b\x41LL_AT_ONCE\x10\x01\x12\x08\n\x04\x46\x41ST\x10\x02\x12\x08\n\x04SLOW\x10\x03\x12\x0c\n\x08\x44ROPWISE\x10\x04\x12\x0e\n\nCONTINUOUS\x10\x05\x12\x0f\n\x0bPORTIONWISE\x10\x06\x1a\xd1\x01\n\x0e\x41\x64\x64itionDevice\x12\x42\n\x04type\x18\x01 \x01(\x0e\x32\x34.ord.ReactionInput.AdditionDevice.AdditionDeviceType\x12\x0f\n\x07\x64\x65tails\x18\x02 \x01(\t\"j\n\x12\x41\x64\x64itionDeviceType\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\n\n\x06\x43USTOM\x10\x01\x12\x08\n\x04NONE\x10\x02\x12\x0b\n\x07SYRINGE\x10\x03\x12\x0b\n\x07\x43\x41NNULA\x10\x04\x12\x13\n\x0f\x41\x44\x44ITION_FUNNEL\x10\x05\"\xd6\x01\n\x06\x41mount\x12\x19\n\x04mass\x18\x01 \x01(\x0b\x32\t.ord.MassH\x00\x12\x1b\n\x05moles\x18\x02 \x01(\x0b\x32\n.ord.MolesH\x00\x12\x1d\n\x06volume\x18\x03 \x01(\x0b\x32\x0b.ord.VolumeH\x00\x12+\n\nunmeasured\x18\x05 \x01(\x0b\x32\x15.ord.UnmeasuredAmountH\x00\x12$\n\x17volume_includes_solutes\x18\x04 \x01(\x08H\x01\x88\x01\x01\x42\x06\n\x04kindB\x1a\n\x18_volume_includes_solutes\"\xbe\x01\n\x10UnmeasuredAmount\x12\x38\n\x04type\x18\x01 \x01(\x0e\x32*.ord.UnmeasuredAmount.UnmeasuredAmountType\x12\x0f\n\x07\x64\x65tails\x18\x02 \x01(\t\"_\n\x14UnmeasuredAmountType\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\n\n\x06\x43USTOM\x10\x01\x12\r\n\tSATURATED\x10\x02\x12\r\n\tCATALYTIC\x10\x03\x12\x0c\n\x08TITRATED\x10\x04\"\xac\x01\n\x0e\x43rudeComponent\x12\x13\n\x0breaction_id\x18\x01 \x01(\t\x12\x1c\n\x0fincludes_workup\x18\x02 \x01(\x08H\x00\x88\x01\x01\x12\x1f\n\x12has_derived_amount\x18\x03 \x01(\x08H\x01\x88\x01\x01\x12\x1b\n\x06\x61mount\x18\x04 \x01(\x0b\x32\x0b.ord.AmountB\x12\n\x10_includes_workupB\x15\n\x13_has_derived_amount\"\xa5\x04\n\x08\x43ompound\x12,\n\x0bidentifiers\x18\x01 \x03(\x0b\x32\x17.ord.CompoundIdentifier\x12\x1b\n\x06\x61mount\x18\x02 \x01(\x0b\x32\x0b.ord.Amount\x12\x39\n\rreaction_role\x18\x03 \x01(\x0e\x32\".ord.ReactionRole.ReactionRoleType\x12\x18\n\x0bis_limiting\x18\x04 \x01(\x08H\x00\x88\x01\x01\x12.\n\x0cpreparations\x18\x05 \x03(\x0b\x32\x18.ord.CompoundPreparation\x12$\n\x06source\x18\x06 \x01(\x0b\x32\x14.ord.Compound.Source\x12-\n\x08\x66\x65\x61tures\x18\x07 \x03(\x0b\x32\x1b.ord.Compound.FeaturesEntry\x12-\n\x08\x61nalyses\x18\x08 \x03(\x0b\x32\x1b.ord.Compound.AnalysesEntry\x1a\x39\n\x06Source\x12\x0e\n\x06vendor\x18\x01 \x01(\t\x12\x12\n\ncatalog_id\x18\x02 \x01(\t\x12\x0b\n\x03lot\x18\x03 \x01(\t\x1a:\n\rFeaturesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x18\n\x05value\x18\x02 \x01(\x0b\x32\t.ord.Data:\x02\x38\x01\x1a>\n\rAnalysesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x1c\n\x05value\x18\x02 \x01(\x0b\x32\r.ord.Analysis:\x02\x38\x01\x42\x0e\n\x0c_is_limiting\"\xd3\x01\n\x0cReactionRole\"\xc2\x01\n\x10ReactionRoleType\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\x0c\n\x08REACTANT\x10\x01\x12\x0b\n\x07REAGENT\x10\x02\x12\x0b\n\x07SOLVENT\x10\x03\x12\x0c\n\x08\x43\x41TALYST\x10\x04\x12\n\n\x06WORKUP\x10\x05\x12\x15\n\x11INTERNAL_STANDARD\x10\x06\x12\x16\n\x12\x41UTHENTIC_STANDARD\x10\x07\x12\x0b\n\x07PRODUCT\x10\x08\x12\r\n\tBYPRODUCT\x10\t\x12\x10\n\x0cSIDE_PRODUCT\x10\n\"\xf6\x01\n\x13\x43ompoundPreparation\x12>\n\x04type\x18\x01 \x01(\x0e\x32\x30.ord.CompoundPreparation.CompoundPreparationType\x12\x0f\n\x07\x64\x65tails\x18\x02 \x01(\t\x12\x13\n\x0breaction_id\x18\x03 \x01(\t\"y\n\x17\x43ompoundPreparationType\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\n\n\x06\x43USTOM\x10\x01\x12\x08\n\x04NONE\x10\x02\x12\x0e\n\nREPURIFIED\x10\x03\x12\x0b\n\x07SPARGED\x10\x04\x12\t\n\x05\x44RIED\x10\x05\x12\x0f\n\x0bSYNTHESIZED\x10\x06\"\x82\x03\n\x12\x43ompoundIdentifier\x12<\n\x04type\x18\x01 \x01(\x0e\x32..ord.CompoundIdentifier.CompoundIdentifierType\x12\x0f\n\x07\x64\x65tails\x18\x02 \x01(\t\x12\r\n\x05value\x18\x03 \x01(\t\"\x8d\x02\n\x16\x43ompoundIdentifierType\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\n\n\x06\x43USTOM\x10\x01\x12\n\n\x06SMILES\x10\x02\x12\t\n\x05INCHI\x10\x03\x12\x0c\n\x08MOLBLOCK\x10\x04\x12\x0e\n\nIUPAC_NAME\x10\x05\x12\x08\n\x04NAME\x10\x06\x12\x0e\n\nCAS_NUMBER\x10\x07\x12\x0f\n\x0bPUBCHEM_CID\x10\x08\x12\x11\n\rCHEMSPIDER_ID\x10\t\x12\x0c\n\x08\x43XSMILES\x10\n\x12\r\n\tINCHI_KEY\x10\x0b\x12\x07\n\x03XYZ\x10\x0c\x12\x0e\n\nUNIPROT_ID\x10\r\x12\n\n\x06PDB_ID\x10\x0e\x12\x17\n\x13\x41MINO_ACID_SEQUENCE\x10\x0f\x12\x08\n\x04HELM\x10\x10\"\xa7\x04\n\x06Vessel\x12$\n\x04type\x18\x01 \x01(\x0e\x32\x16.ord.Vessel.VesselType\x12\x0f\n\x07\x64\x65tails\x18\x02 \x01(\t\x12%\n\x08material\x18\x03 \x01(\x0b\x32\x13.ord.VesselMaterial\x12,\n\x0cpreparations\x18\x04 \x03(\x0b\x32\x16.ord.VesselPreparation\x12*\n\x0b\x61ttachments\x18\x05 \x03(\x0b\x32\x15.ord.VesselAttachment\x12\x1b\n\x06volume\x18\x06 \x01(\x0b\x32\x0b.ord.Volume\x12\x11\n\tvessel_id\x18\x07 \x01(\t\x12\x10\n\x08position\x18\x08 \x01(\t\x12\x0b\n\x03row\x18\t \x01(\t\x12\x0b\n\x03\x63ol\x18\n \x01(\t\"\x88\x02\n\nVesselType\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\n\n\x06\x43USTOM\x10\x01\x12\x16\n\x12ROUND_BOTTOM_FLASK\x10\x02\x12\x08\n\x04VIAL\x10\x03\x12\x0e\n\nWELL_PLATE\x10\x04\x12\x12\n\x0eMICROWAVE_VIAL\x10\x05\x12\x08\n\x04TUBE\x10\x06\x12#\n\x1f\x43ONTINUOUS_STIRRED_TANK_REACTOR\x10\x07\x12\x16\n\x12PACKED_BED_REACTOR\x10\x08\x12\x0c\n\x08NMR_TUBE\x10\t\x12\x12\n\x0ePRESSURE_FLASK\x10\n\x12\x14\n\x10PRESSURE_REACTOR\x10\x0b\x12\x18\n\x14\x45LECTROCHEMICAL_CELL\x10\x0c\"\xcc\x01\n\x0eVesselMaterial\x12\x34\n\x04type\x18\x01 \x01(\x0e\x32&.ord.VesselMaterial.VesselMaterialType\x12\x0f\n\x07\x64\x65tails\x18\x02 \x01(\t\"s\n\x12VesselMaterialType\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\n\n\x06\x43USTOM\x10\x01\x12\t\n\x05GLASS\x10\x02\x12\x11\n\rPOLYPROPYLENE\x10\x03\x12\x0b\n\x07PLASTIC\x10\x04\x12\t\n\x05METAL\x10\x05\x12\n\n\x06QUARTZ\x10\x06\"\x97\x03\n\x10VesselAttachment\x12\x38\n\x04type\x18\x01 \x01(\x0e\x32*.ord.VesselAttachment.VesselAttachmentType\x12\x0f\n\x07\x64\x65tails\x18\x02 \x01(\t\"\xb7\x02\n\x14VesselAttachmentType\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\x08\n\x04NONE\x10\x01\x12\n\n\x06\x43USTOM\x10\x02\x12\n\n\x06SEPTUM\x10\x03\x12\x07\n\x03\x43\x41P\x10\x04\x12\x07\n\x03MAT\x10\x05\x12\x14\n\x10REFLUX_CONDENSER\x10\x06\x12\x0f\n\x0bVENT_NEEDLE\x10\x07\x12\x0e\n\nDEAN_STARK\x10\x08\x12\x0f\n\x0bVACUUM_TUBE\x10\t\x12\x13\n\x0f\x41\x44\x44ITION_FUNNEL\x10\n\x12\x0f\n\x0b\x44RYING_TUBE\x10\x0b\x12\x11\n\rALUMINUM_FOIL\x10\x0c\x12\x10\n\x0cTHERMOCOUPLE\x10\r\x12\x0b\n\x07\x42\x41LLOON\x10\x0e\x12\x0f\n\x0bGAS_ADAPTER\x10\x0f\x12\x16\n\x12PRESSURE_REGULATOR\x10\x10\x12\x11\n\rRELEASE_VALVE\x10\x11\"\xe8\x01\n\x11VesselPreparation\x12:\n\x04type\x18\x01 \x01(\x0e\x32,.ord.VesselPreparation.VesselPreparationType\x12\x0f\n\x07\x64\x65tails\x18\x02 \x01(\t\"\x85\x01\n\x15VesselPreparationType\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\n\n\x06\x43USTOM\x10\x01\x12\x08\n\x04NONE\x10\x02\x12\x0e\n\nOVEN_DRIED\x10\x03\x12\x0f\n\x0b\x46LAME_DRIED\x10\x04\x12\x18\n\x14\x45VACUATED_BACKFILLED\x10\x05\x12\n\n\x06PURGED\x10\x06\"\xa0\x04\n\rReactionSetup\x12\x1b\n\x06vessel\x18\x01 \x01(\x0b\x32\x0b.ord.Vessel\x12\x19\n\x0cis_automated\x18\x02 \x01(\x08H\x00\x88\x01\x01\x12\x1b\n\x13\x61utomation_platform\x18\x03 \x01(\t\x12?\n\x0f\x61utomation_code\x18\x04 \x03(\x0b\x32&.ord.ReactionSetup.AutomationCodeEntry\x12;\n\x0b\x65nvironment\x18\x05 \x01(\x0b\x32&.ord.ReactionSetup.ReactionEnvironment\x1a@\n\x13\x41utomationCodeEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x18\n\x05value\x18\x02 \x01(\x0b\x32\t.ord.Data:\x02\x38\x01\x1a\xe8\x01\n\x13ReactionEnvironment\x12L\n\x04type\x18\x01 \x01(\x0e\x32>.ord.ReactionSetup.ReactionEnvironment.ReactionEnvironmentType\x12\x0f\n\x07\x64\x65tails\x18\x02 \x01(\t\"r\n\x17ReactionEnvironmentType\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\n\n\x06\x43USTOM\x10\x01\x12\r\n\tFUME_HOOD\x10\x02\x12\r\n\tBENCH_TOP\x10\x03\x12\r\n\tGLOVE_BOX\x10\x04\x12\r\n\tGLOVE_BAG\x10\x05\x42\x0f\n\r_is_automated\"\xb5\x03\n\x12ReactionConditions\x12/\n\x0btemperature\x18\x01 \x01(\x0b\x32\x1a.ord.TemperatureConditions\x12)\n\x08pressure\x18\x02 \x01(\x0b\x32\x17.ord.PressureConditions\x12)\n\x08stirring\x18\x03 \x01(\x0b\x32\x17.ord.StirringConditions\x12\x31\n\x0cillumination\x18\x04 \x01(\x0b\x32\x1b.ord.IlluminationConditions\x12\x39\n\x10\x65lectrochemistry\x18\x05 \x01(\x0b\x32\x1f.ord.ElectrochemistryConditions\x12!\n\x04\x66low\x18\x06 \x01(\x0b\x32\x13.ord.FlowConditions\x12\x13\n\x06reflux\x18\x07 \x01(\x08H\x00\x88\x01\x01\x12\x0f\n\x02ph\x18\x08 \x01(\x02H\x01\x88\x01\x01\x12#\n\x16\x63onditions_are_dynamic\x18\t \x01(\x08H\x02\x88\x01\x01\x12\x0f\n\x07\x64\x65tails\x18\n \x01(\tB\t\n\x07_refluxB\x05\n\x03_phB\x19\n\x17_conditions_are_dynamic\"\xe2\x06\n\x15TemperatureConditions\x12>\n\x07\x63ontrol\x18\x01 \x01(\x0b\x32-.ord.TemperatureConditions.TemperatureControl\x12\"\n\x08setpoint\x18\x02 \x01(\x0b\x32\x10.ord.Temperature\x12G\n\x0cmeasurements\x18\x03 \x03(\x0b\x32\x31.ord.TemperatureConditions.TemperatureMeasurement\x1a\xd4\x02\n\x12TemperatureControl\x12R\n\x04type\x18\x01 \x01(\x0e\x32\x44.ord.TemperatureConditions.TemperatureControl.TemperatureControlType\x12\x0f\n\x07\x64\x65tails\x18\x02 \x01(\t\"\xd8\x01\n\x16TemperatureControlType\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\n\n\x06\x43USTOM\x10\x01\x12\x0b\n\x07\x41MBIENT\x10\x02\x12\x0c\n\x08OIL_BATH\x10\x03\x12\x0e\n\nWATER_BATH\x10\x04\x12\r\n\tSAND_BATH\x10\x05\x12\x0c\n\x08ICE_BATH\x10\x06\x12\x16\n\x12\x44RY_ALUMINUM_PLATE\x10\x07\x12\r\n\tMICROWAVE\x10\x08\x12\x10\n\x0c\x44RY_ICE_BATH\x10\t\x12\x0b\n\x07\x41IR_FAN\x10\n\x12\x13\n\x0fLIQUID_NITROGEN\x10\x0b\x1a\xc4\x02\n\x16TemperatureMeasurement\x12Z\n\x04type\x18\x01 \x01(\x0e\x32L.ord.TemperatureConditions.TemperatureMeasurement.TemperatureMeasurementType\x12\x0f\n\x07\x64\x65tails\x18\x02 \x01(\t\x12\x17\n\x04time\x18\x03 \x01(\x0b\x32\t.ord.Time\x12%\n\x0btemperature\x18\x04 \x01(\x0b\x32\x10.ord.Temperature\"}\n\x1aTemperatureMeasurementType\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\n\n\x06\x43USTOM\x10\x01\x12\x19\n\x15THERMOCOUPLE_INTERNAL\x10\x02\x12\x19\n\x15THERMOCOUPLE_EXTERNAL\x10\x03\x12\x0c\n\x08INFRARED\x10\x04\"\x8c\x08\n\x12PressureConditions\x12\x38\n\x07\x63ontrol\x18\x01 \x01(\x0b\x32\'.ord.PressureConditions.PressureControl\x12\x1f\n\x08setpoint\x18\x02 \x01(\x0b\x32\r.ord.Pressure\x12\x36\n\natmosphere\x18\x03 \x01(\x0b\x32\".ord.PressureConditions.Atmosphere\x12\x41\n\x0cmeasurements\x18\x04 \x03(\x0b\x32+.ord.PressureConditions.PressureMeasurement\x1a\xe0\x01\n\x0fPressureControl\x12I\n\x04type\x18\x01 \x01(\x0e\x32;.ord.PressureConditions.PressureControl.PressureControlType\x12\x0f\n\x07\x64\x65tails\x18\x02 \x01(\t\"q\n\x13PressureControlType\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\n\n\x06\x43USTOM\x10\x01\x12\x0b\n\x07\x41MBIENT\x10\x02\x12\x13\n\x0fSLIGHT_POSITIVE\x10\x03\x12\n\n\x06SEALED\x10\x04\x12\x0f\n\x0bPRESSURIZED\x10\x05\x1a\xb5\x02\n\nAtmosphere\x12?\n\x04type\x18\x01 \x01(\x0e\x32\x31.ord.PressureConditions.Atmosphere.AtmosphereType\x12\x0f\n\x07\x64\x65tails\x18\x02 \x01(\t\"\xd4\x01\n\x0e\x41tmosphereType\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\n\n\x06\x43USTOM\x10\x01\x12\x07\n\x03\x41IR\x10\x02\x12\x0c\n\x08NITROGEN\x10\x03\x12\t\n\x05\x41RGON\x10\x04\x12\n\n\x06OXYGEN\x10\x05\x12\x0c\n\x08HYDROGEN\x10\x06\x12\x13\n\x0f\x43\x41RBON_MONOXIDE\x10\x07\x12\x12\n\x0e\x43\x41RBON_DIOXIDE\x10\x08\x12\x0b\n\x07METHANE\x10\t\x12\x0b\n\x07\x41MMONIA\x10\n\x12\t\n\x05OZONE\x10\x0b\x12\x0c\n\x08\x45THYLENE\x10\x0c\x12\r\n\tACETYLENE\x10\r\x1a\x84\x02\n\x13PressureMeasurement\x12Q\n\x04type\x18\x01 \x01(\x0e\x32\x43.ord.PressureConditions.PressureMeasurement.PressureMeasurementType\x12\x0f\n\x07\x64\x65tails\x18\x02 \x01(\t\x12\x17\n\x04time\x18\x03 \x01(\x0b\x32\t.ord.Time\x12\x1f\n\x08pressure\x18\x04 \x01(\x0b\x32\r.ord.Pressure\"O\n\x17PressureMeasurementType\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\n\n\x06\x43USTOM\x10\x01\x12\x17\n\x13PRESSURE_TRANSDUCER\x10\x02\"\xdc\x03\n\x12StirringConditions\x12\x38\n\x04type\x18\x01 \x01(\x0e\x32*.ord.StirringConditions.StirringMethodType\x12\x0f\n\x07\x64\x65tails\x18\x02 \x01(\t\x12\x32\n\x04rate\x18\x03 \x01(\x0b\x32$.ord.StirringConditions.StirringRate\x1a\xb5\x01\n\x0cStirringRate\x12\x43\n\x04type\x18\x01 \x01(\x0e\x32\x35.ord.StirringConditions.StirringRate.StirringRateType\x12\x0f\n\x07\x64\x65tails\x18\x02 \x01(\t\x12\x0b\n\x03rpm\x18\x03 \x01(\x05\"B\n\x10StirringRateType\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\x08\n\x04HIGH\x10\x01\x12\n\n\x06MEDIUM\x10\x02\x12\x07\n\x03LOW\x10\x03\"\x8e\x01\n\x12StirringMethodType\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\n\n\x06\x43USTOM\x10\x01\x12\x08\n\x04NONE\x10\x02\x12\x0c\n\x08STIR_BAR\x10\x03\x12\x12\n\x0eOVERHEAD_MIXER\x10\x04\x12\r\n\tAGITATION\x10\x05\x12\x10\n\x0c\x42\x41LL_MILLING\x10\x06\x12\x0e\n\nSONICATION\x10\x07\"\xe8\x02\n\x16IlluminationConditions\x12:\n\x04type\x18\x01 \x01(\x0e\x32,.ord.IlluminationConditions.IlluminationType\x12\x0f\n\x07\x64\x65tails\x18\x02 \x01(\t\x12(\n\x0fpeak_wavelength\x18\x03 \x01(\x0b\x32\x0f.ord.Wavelength\x12\r\n\x05\x63olor\x18\x04 \x01(\t\x12\'\n\x12\x64istance_to_vessel\x18\x05 \x01(\x0b\x32\x0b.ord.Length\"\x9e\x01\n\x10IlluminationType\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\n\n\x06\x43USTOM\x10\x01\x12\x0b\n\x07\x41MBIENT\x10\x02\x12\x08\n\x04\x44\x41RK\x10\x03\x12\x07\n\x03LED\x10\x04\x12\x10\n\x0cHALOGEN_LAMP\x10\x05\x12\x12\n\x0e\x44\x45UTERIUM_LAMP\x10\x06\x12\x13\n\x0fSOLAR_SIMULATOR\x10\x07\x12\x12\n\x0e\x42ROAD_SPECTRUM\x10\x08\"\xe0\x06\n\x1a\x45lectrochemistryConditions\x12\x42\n\x04type\x18\x01 \x01(\x0e\x32\x34.ord.ElectrochemistryConditions.ElectrochemistryType\x12\x0f\n\x07\x64\x65tails\x18\x02 \x01(\t\x12\x1d\n\x07\x63urrent\x18\x03 \x01(\x0b\x32\x0c.ord.Current\x12\x1d\n\x07voltage\x18\x04 \x01(\x0b\x32\x0c.ord.Voltage\x12\x16\n\x0e\x61node_material\x18\x05 \x01(\t\x12\x18\n\x10\x63\x61thode_material\x18\x06 \x01(\t\x12)\n\x14\x65lectrode_separation\x18\x07 \x01(\x0b\x32\x0b.ord.Length\x12Q\n\x0cmeasurements\x18\x08 \x03(\x0b\x32;.ord.ElectrochemistryConditions.ElectrochemistryMeasurement\x12\x42\n\x04\x63\x65ll\x18\t \x01(\x0b\x32\x34.ord.ElectrochemistryConditions.ElectrochemistryCell\x1at\n\x1b\x45lectrochemistryMeasurement\x12\x17\n\x04time\x18\x01 \x01(\x0b\x32\t.ord.Time\x12\x1d\n\x07\x63urrent\x18\x02 \x01(\x0b\x32\x0c.ord.Current\x12\x1d\n\x07voltage\x18\x03 \x01(\x0b\x32\x0c.ord.Voltage\x1a\xe3\x01\n\x14\x45lectrochemistryCell\x12[\n\x04type\x18\x01 \x01(\x0e\x32M.ord.ElectrochemistryConditions.ElectrochemistryCell.ElectrochemistryCellType\x12\x0f\n\x07\x64\x65tails\x18\x02 \x01(\t\"]\n\x18\x45lectrochemistryCellType\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\n\n\x06\x43USTOM\x10\x01\x12\x10\n\x0c\x44IVIDED_CELL\x10\x02\x12\x12\n\x0eUNDIVIDED_CELL\x10\x03\"_\n\x14\x45lectrochemistryType\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\n\n\x06\x43USTOM\x10\x01\x12\x14\n\x10\x43ONSTANT_CURRENT\x10\x02\x12\x14\n\x10\x43ONSTANT_VOLTAGE\x10\x03\"\x94\x04\n\x0e\x46lowConditions\x12*\n\x04type\x18\x01 \x01(\x0e\x32\x1c.ord.FlowConditions.FlowType\x12\x0f\n\x07\x64\x65tails\x18\x02 \x01(\t\x12\x11\n\tpump_type\x18\x03 \x01(\t\x12*\n\x06tubing\x18\x04 \x01(\x0b\x32\x1a.ord.FlowConditions.Tubing\x1a\x88\x02\n\x06Tubing\x12\x33\n\x04type\x18\x01 \x01(\x0e\x32%.ord.FlowConditions.Tubing.TubingType\x12\x0f\n\x07\x64\x65tails\x18\x02 \x01(\t\x12\x1d\n\x08\x64iameter\x18\x03 \x01(\x0b\x32\x0b.ord.Length\"\x98\x01\n\nTubingType\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\n\n\x06\x43USTOM\x10\x01\x12\t\n\x05STEEL\x10\x02\x12\n\n\x06\x43OPPER\x10\x03\x12\x07\n\x03PFA\x10\x04\x12\x07\n\x03\x46\x45P\x10\x05\x12\x0c\n\x08TEFLONAF\x10\x06\x12\x08\n\x04PTFE\x10\x07\x12\t\n\x05GLASS\x10\x08\x12\n\n\x06QUARTZ\x10\t\x12\x0b\n\x07SILICON\x10\n\x12\x08\n\x04PDMS\x10\x0b\"{\n\x08\x46lowType\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\n\n\x06\x43USTOM\x10\x01\x12\x15\n\x11PLUG_FLOW_REACTOR\x10\x02\x12#\n\x1f\x43ONTINUOUS_STIRRED_TANK_REACTOR\x10\x03\x12\x16\n\x12PACKED_BED_REACTOR\x10\x04\"\xc0\x03\n\rReactionNotes\x12\x1d\n\x10is_heterogeneous\x18\x01 \x01(\x08H\x00\x88\x01\x01\x12\x1e\n\x11\x66orms_precipitate\x18\x02 \x01(\x08H\x01\x88\x01\x01\x12\x1a\n\ris_exothermic\x18\x03 \x01(\x08H\x02\x88\x01\x01\x12\x16\n\toffgasses\x18\x04 \x01(\x08H\x03\x88\x01\x01\x12%\n\x18is_sensitive_to_moisture\x18\x05 \x01(\x08H\x04\x88\x01\x01\x12#\n\x16is_sensitive_to_oxygen\x18\x06 \x01(\x08H\x05\x88\x01\x01\x12\"\n\x15is_sensitive_to_light\x18\x07 \x01(\x08H\x06\x88\x01\x01\x12\x14\n\x0csafety_notes\x18\x08 \x01(\t\x12\x19\n\x11procedure_details\x18\t \x01(\tB\x13\n\x11_is_heterogeneousB\x14\n\x12_forms_precipitateB\x10\n\x0e_is_exothermicB\x0c\n\n_offgassesB\x1b\n\x19_is_sensitive_to_moistureB\x19\n\x17_is_sensitive_to_oxygenB\x18\n\x16_is_sensitive_to_light\"Y\n\x13ReactionObservation\x12\x17\n\x04time\x18\x01 \x01(\x0b\x32\t.ord.Time\x12\x0f\n\x07\x63omment\x18\x02 \x01(\t\x12\x18\n\x05image\x18\x03 \x01(\x0b\x32\t.ord.Data\"\xcb\x05\n\x0eReactionWorkup\x12\x34\n\x04type\x18\x01 \x01(\x0e\x32&.ord.ReactionWorkup.ReactionWorkupType\x12\x0f\n\x07\x64\x65tails\x18\x02 \x01(\t\x12\x1b\n\x08\x64uration\x18\x03 \x01(\x0b\x32\t.ord.Time\x12!\n\x05input\x18\x04 \x01(\x0b\x32\x12.ord.ReactionInput\x12\x1b\n\x06\x61mount\x18\x05 \x01(\x0b\x32\x0b.ord.Amount\x12/\n\x0btemperature\x18\x06 \x01(\x0b\x32\x1a.ord.TemperatureConditions\x12\x12\n\nkeep_phase\x18\x07 \x01(\t\x12)\n\x08stirring\x18\x08 \x01(\x0b\x32\x17.ord.StirringConditions\x12\x16\n\ttarget_ph\x18\t \x01(\x02H\x00\x88\x01\x01\x12\x19\n\x0cis_automated\x18\n \x01(\x08H\x01\x88\x01\x01\"\xd2\x02\n\x12ReactionWorkupType\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\n\n\x06\x43USTOM\x10\x01\x12\x0c\n\x08\x41\x44\x44ITION\x10\x02\x12\x0b\n\x07\x41LIQUOT\x10\x03\x12\x0f\n\x0bTEMPERATURE\x10\x04\x12\x11\n\rCONCENTRATION\x10\x05\x12\x0e\n\nEXTRACTION\x10\x06\x12\x0e\n\nFILTRATION\x10\x07\x12\x08\n\x04WASH\x10\x08\x12\x11\n\rDRY_IN_VACUUM\x10\t\x12\x15\n\x11\x44RY_WITH_MATERIAL\x10\n\x12\x18\n\x14\x46LASH_CHROMATOGRAPHY\x10\x0b\x12\x18\n\x14OTHER_CHROMATOGRAPHY\x10\x0c\x12\x0e\n\nSCAVENGING\x10\r\x12\x08\n\x04WAIT\x10\x0e\x12\x0c\n\x08STIRRING\x10\x0f\x12\r\n\tPH_ADJUST\x10\x10\x12\x0f\n\x0b\x44ISSOLUTION\x10\x11\x12\x10\n\x0c\x44ISTILLATION\x10\x12\x42\x0c\n\n_target_phB\x0f\n\r_is_automated\"\xf6\x01\n\x0fReactionOutcome\x12 \n\rreaction_time\x18\x01 \x01(\x0b\x32\t.ord.Time\x12#\n\nconversion\x18\x02 \x01(\x0b\x32\x0f.ord.Percentage\x12&\n\x08products\x18\x03 \x03(\x0b\x32\x14.ord.ProductCompound\x12\x34\n\x08\x61nalyses\x18\x04 \x03(\x0b\x32\".ord.ReactionOutcome.AnalysesEntry\x1a>\n\rAnalysesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x1c\n\x05value\x18\x02 \x01(\x0b\x32\r.ord.Analysis:\x02\x38\x01\"\x8d\x05\n\x0fProductCompound\x12,\n\x0bidentifiers\x18\x01 \x03(\x0b\x32\x17.ord.CompoundIdentifier\x12\x1f\n\x12is_desired_product\x18\x02 \x01(\x08H\x00\x88\x01\x01\x12-\n\x0cmeasurements\x18\x03 \x03(\x0b\x32\x17.ord.ProductMeasurement\x12\x16\n\x0eisolated_color\x18\x04 \x01(\t\x12-\n\x07texture\x18\x05 \x01(\x0b\x32\x1c.ord.ProductCompound.Texture\x12\x34\n\x08\x66\x65\x61tures\x18\x06 \x03(\x0b\x32\".ord.ProductCompound.FeaturesEntry\x12\x39\n\rreaction_role\x18\x07 \x01(\x0e\x32\".ord.ReactionRole.ReactionRoleType\x1a\xf0\x01\n\x07Texture\x12\x36\n\x04type\x18\x01 \x01(\x0e\x32(.ord.ProductCompound.Texture.TextureType\x12\x0f\n\x07\x64\x65tails\x18\x02 \x01(\t\"\x9b\x01\n\x0bTextureType\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\n\n\x06\x43USTOM\x10\x01\x12\n\n\x06POWDER\x10\x02\x12\x0b\n\x07\x43RYSTAL\x10\x03\x12\x07\n\x03OIL\x10\x04\x12\x13\n\x0f\x41MORPHOUS_SOLID\x10\x05\x12\x08\n\x04\x46OAM\x10\x06\x12\x07\n\x03WAX\x10\x07\x12\x0e\n\nSEMI_SOLID\x10\x08\x12\t\n\x05SOLID\x10\t\x12\n\n\x06LIQUID\x10\n\x1a:\n\rFeaturesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x18\n\x05value\x18\x02 \x01(\x0b\x32\t.ord.Data:\x02\x38\x01\x42\x15\n\x13_is_desired_product\"\xfb\n\n\x12ProductMeasurement\x12\x14\n\x0c\x61nalysis_key\x18\x01 \x01(\t\x12<\n\x04type\x18\x02 \x01(\x0e\x32..ord.ProductMeasurement.ProductMeasurementType\x12\x0f\n\x07\x64\x65tails\x18\x03 \x01(\t\x12#\n\x16uses_internal_standard\x18\x04 \x01(\x08H\x01\x88\x01\x01\x12\x1a\n\ris_normalized\x18\x05 \x01(\x08H\x02\x88\x01\x01\x12$\n\x17uses_authentic_standard\x18\x06 \x01(\x08H\x03\x88\x01\x01\x12)\n\x12\x61uthentic_standard\x18\x07 \x01(\x0b\x32\r.ord.Compound\x12%\n\npercentage\x18\x08 \x01(\x0b\x32\x0f.ord.PercentageH\x00\x12&\n\x0b\x66loat_value\x18\t \x01(\x0b\x32\x0f.ord.FloatValueH\x00\x12\x16\n\x0cstring_value\x18\n \x01(\tH\x00\x12\x1d\n\x06\x61mount\x18\x0b \x01(\x0b\x32\x0b.ord.AmountH\x00\x12!\n\x0eretention_time\x18\x0c \x01(\x0b\x32\t.ord.Time\x12M\n\x11mass_spec_details\x18\r \x01(\x0b\x32\x32.ord.ProductMeasurement.MassSpecMeasurementDetails\x12\x38\n\x0bselectivity\x18\x0e \x01(\x0b\x32#.ord.ProductMeasurement.Selectivity\x12#\n\nwavelength\x18\x0f \x01(\x0b\x32\x0f.ord.Wavelength\x1a\xe9\x02\n\x1aMassSpecMeasurementDetails\x12X\n\x04type\x18\x01 \x01(\x0e\x32J.ord.ProductMeasurement.MassSpecMeasurementDetails.MassSpecMeasurementType\x12\x0f\n\x07\x64\x65tails\x18\x02 \x01(\t\x12\x1b\n\x0etic_minimum_mz\x18\x03 \x01(\x02H\x00\x88\x01\x01\x12\x1b\n\x0etic_maximum_mz\x18\x04 \x01(\x02H\x01\x88\x01\x01\x12\x12\n\neic_masses\x18\x05 \x03(\x02\"l\n\x17MassSpecMeasurementType\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\n\n\x06\x43USTOM\x10\x01\x12\x07\n\x03TIC\x10\x02\x12\x10\n\x0cTIC_POSITIVE\x10\x03\x12\x10\n\x0cTIC_NEGATIVE\x10\x04\x12\x07\n\x03\x45IC\x10\x05\x42\x11\n\x0f_tic_minimum_mzB\x11\n\x0f_tic_maximum_mz\x1a\xb9\x01\n\x0bSelectivity\x12\x41\n\x04type\x18\x01 \x01(\x0e\x32\x33.ord.ProductMeasurement.Selectivity.SelectivityType\x12\x0f\n\x07\x64\x65tails\x18\x02 \x01(\t\"V\n\x0fSelectivityType\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\n\n\x06\x43USTOM\x10\x01\x12\x06\n\x02\x45\x45\x10\x02\x12\x06\n\x02\x45R\x10\x03\x12\x06\n\x02\x44R\x10\x04\x12\x06\n\x02\x45Z\x10\x05\x12\x06\n\x02ZE\x10\x06\"\x9c\x01\n\x16ProductMeasurementType\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\n\n\x06\x43USTOM\x10\x01\x12\x0c\n\x08IDENTITY\x10\x02\x12\t\n\x05YIELD\x10\x03\x12\x0f\n\x0bSELECTIVITY\x10\x04\x12\n\n\x06PURITY\x10\x05\x12\x08\n\x04\x41REA\x10\x06\x12\n\n\x06\x43OUNTS\x10\x07\x12\r\n\tINTENSITY\x10\x08\x12\n\n\x06\x41MOUNT\x10\tB\x07\n\x05valueB\x19\n\x17_uses_internal_standardB\x10\n\x0e_is_normalizedB\x1a\n\x18_uses_authentic_standard\"\x19\n\x08\x44\x61teTime\x12\r\n\x05value\x18\x01 \x01(\t\"\xcc\x04\n\x08\x41nalysis\x12(\n\x04type\x18\x01 \x01(\x0e\x32\x1a.ord.Analysis.AnalysisType\x12\x0f\n\x07\x64\x65tails\x18\x02 \x01(\t\x12\x0f\n\x07\x63hmo_id\x18\x03 \x01(\x05\x12#\n\x16is_of_isolated_species\x18\x04 \x01(\x08H\x00\x88\x01\x01\x12%\n\x04\x64\x61ta\x18\x05 \x03(\x0b\x32\x17.ord.Analysis.DataEntry\x12\x1f\n\x17instrument_manufacturer\x18\x06 \x01(\t\x12\x31\n\x1ainstrument_last_calibrated\x18\x07 \x01(\x0b\x32\r.ord.DateTime\x1a\x36\n\tDataEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x18\n\x05value\x18\x02 \x01(\x0b\x32\t.ord.Data:\x02\x38\x01\"\x80\x02\n\x0c\x41nalysisType\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\n\n\x06\x43USTOM\x10\x01\x12\x06\n\x02LC\x10\x02\x12\x06\n\x02GC\x10\x03\x12\x06\n\x02IR\x10\x04\x12\n\n\x06NMR_1H\x10\x05\x12\x0b\n\x07NMR_13C\x10\x06\x12\r\n\tNMR_OTHER\x10\x07\x12\x06\n\x02MP\x10\x08\x12\x06\n\x02UV\x10\t\x12\x07\n\x03TLC\x10\n\x12\x06\n\x02MS\x10\x0b\x12\x08\n\x04HRMS\x10\x0c\x12\x08\n\x04MSMS\x10\r\x12\n\n\x06WEIGHT\x10\x0e\x12\x08\n\x04LCMS\x10\x0f\x12\x08\n\x04GCMS\x10\x10\x12\x08\n\x04\x45LSD\x10\x11\x12\x06\n\x02\x43\x44\x10\x12\x12\x07\n\x03SFC\x10\x13\x12\x07\n\x03\x45PR\x10\x14\x12\x07\n\x03XRD\x10\x15\x12\t\n\x05RAMAN\x10\x16\x12\x06\n\x02\x45\x44\x10\x17\x42\x19\n\x17_is_of_isolated_species\"\xab\x03\n\x12ReactionProvenance\x12!\n\x0c\x65xperimenter\x18\x01 \x01(\x0b\x32\x0b.ord.Person\x12\x0c\n\x04\x63ity\x18\x02 \x01(\t\x12\'\n\x10\x65xperiment_start\x18\x03 \x01(\x0b\x32\r.ord.DateTime\x12\x0b\n\x03\x64oi\x18\x04 \x01(\t\x12\x0e\n\x06patent\x18\x05 \x01(\t\x12\x17\n\x0fpublication_url\x18\x06 \x01(\t\x12(\n\x0erecord_created\x18\x07 \x01(\x0b\x32\x10.ord.RecordEvent\x12)\n\x0frecord_modified\x18\x08 \x03(\x0b\x32\x10.ord.RecordEvent\x12H\n\x11reaction_metadata\x18\t \x03(\x0b\x32-.ord.ReactionProvenance.ReactionMetadataEntry\x12\x15\n\x08is_mined\x18\n \x01(\x08H\x00\x88\x01\x01\x1a\x42\n\x15ReactionMetadataEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x18\n\x05value\x18\x02 \x01(\x0b\x32\t.ord.Data:\x02\x38\x01\x42\x0b\n\t_is_mined\"\\\n\x06Person\x12\x10\n\x08username\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\r\n\x05orcid\x18\x03 \x01(\t\x12\x14\n\x0corganization\x18\x04 \x01(\t\x12\r\n\x05\x65mail\x18\x05 \x01(\t\"X\n\x0bRecordEvent\x12\x1b\n\x04time\x18\x01 \x01(\x0b\x32\r.ord.DateTime\x12\x1b\n\x06person\x18\x02 \x01(\x0b\x32\x0b.ord.Person\x12\x0f\n\x07\x64\x65tails\x18\x03 \x01(\t\"\xb5\x01\n\x04Time\x12\x12\n\x05value\x18\x01 \x01(\x02H\x00\x88\x01\x01\x12\x16\n\tprecision\x18\x02 \x01(\x02H\x01\x88\x01\x01\x12!\n\x05units\x18\x03 \x01(\x0e\x32\x12.ord.Time.TimeUnit\"F\n\x08TimeUnit\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\x07\n\x03\x44\x41Y\x10\x04\x12\x08\n\x04HOUR\x10\x01\x12\n\n\x06MINUTE\x10\x02\x12\n\n\x06SECOND\x10\x03\x42\x08\n\x06_valueB\x0c\n\n_precision\"\xc0\x01\n\x04Mass\x12\x12\n\x05value\x18\x01 \x01(\x02H\x00\x88\x01\x01\x12\x16\n\tprecision\x18\x02 \x01(\x02H\x01\x88\x01\x01\x12!\n\x05units\x18\x03 \x01(\x0e\x32\x12.ord.Mass.MassUnit\"Q\n\x08MassUnit\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\x0c\n\x08KILOGRAM\x10\x01\x12\x08\n\x04GRAM\x10\x02\x12\r\n\tMILLIGRAM\x10\x03\x12\r\n\tMICROGRAM\x10\x04\x42\x08\n\x06_valueB\x0c\n\n_precision\"\xc4\x01\n\x05Moles\x12\x12\n\x05value\x18\x01 \x01(\x02H\x00\x88\x01\x01\x12\x16\n\tprecision\x18\x02 \x01(\x02H\x01\x88\x01\x01\x12#\n\x05units\x18\x03 \x01(\x0e\x32\x14.ord.Moles.MolesUnit\"R\n\tMolesUnit\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\x08\n\x04MOLE\x10\x01\x12\r\n\tMILLIMOLE\x10\x02\x12\r\n\tMICROMOLE\x10\x03\x12\x0c\n\x08NANOMOLE\x10\x04\x42\x08\n\x06_valueB\x0c\n\n_precision\"\xcc\x01\n\x06Volume\x12\x12\n\x05value\x18\x01 \x01(\x02H\x00\x88\x01\x01\x12\x16\n\tprecision\x18\x02 \x01(\x02H\x01\x88\x01\x01\x12%\n\x05units\x18\x03 \x01(\x0e\x32\x16.ord.Volume.VolumeUnit\"W\n\nVolumeUnit\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\t\n\x05LITER\x10\x01\x12\x0e\n\nMILLILITER\x10\x02\x12\x0e\n\nMICROLITER\x10\x03\x12\r\n\tNANOLITER\x10\x04\x42\x08\n\x06_valueB\x0c\n\n_precision\"\xd9\x01\n\rConcentration\x12\x12\n\x05value\x18\x01 \x01(\x02H\x00\x88\x01\x01\x12\x16\n\tprecision\x18\x02 \x01(\x02H\x01\x88\x01\x01\x12\x33\n\x05units\x18\x03 \x01(\x0e\x32$.ord.Concentration.ConcentrationUnit\"O\n\x11\x43oncentrationUnit\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\t\n\x05MOLAR\x10\x01\x12\x0e\n\nMILLIMOLAR\x10\x02\x12\x0e\n\nMICROMOLAR\x10\x03\x42\x08\n\x06_valueB\x0c\n\n_precision\"\xf7\x01\n\x08Pressure\x12\x12\n\x05value\x18\x01 \x01(\x02H\x00\x88\x01\x01\x12\x16\n\tprecision\x18\x02 \x01(\x02H\x01\x88\x01\x01\x12)\n\x05units\x18\x03 \x01(\x0e\x32\x1a.ord.Pressure.PressureUnit\"|\n\x0cPressureUnit\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\x07\n\x03\x42\x41R\x10\x01\x12\x0e\n\nATMOSPHERE\x10\x02\x12\x07\n\x03PSI\x10\x03\x12\x08\n\x04KPSI\x10\x04\x12\n\n\x06PASCAL\x10\x05\x12\x0e\n\nKILOPASCAL\x10\x06\x12\x08\n\x04TORR\x10\x07\x12\t\n\x05MM_HG\x10\x08\x42\x08\n\x06_valueB\x0c\n\n_precision\"\xcf\x01\n\x0bTemperature\x12\x12\n\x05value\x18\x01 \x01(\x02H\x00\x88\x01\x01\x12\x16\n\tprecision\x18\x02 \x01(\x02H\x01\x88\x01\x01\x12/\n\x05units\x18\x03 \x01(\x0e\x32 .ord.Temperature.TemperatureUnit\"K\n\x0fTemperatureUnit\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\x0b\n\x07\x43\x45LSIUS\x10\x01\x12\x0e\n\nFAHRENHEIT\x10\x02\x12\n\n\x06KELVIN\x10\x03\x42\x08\n\x06_valueB\x0c\n\n_precision\"\xb3\x01\n\x07\x43urrent\x12\x12\n\x05value\x18\x01 \x01(\x02H\x00\x88\x01\x01\x12\x16\n\tprecision\x18\x02 \x01(\x02H\x01\x88\x01\x01\x12\'\n\x05units\x18\x03 \x01(\x0e\x32\x18.ord.Current.CurrentUnit\";\n\x0b\x43urrentUnit\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\n\n\x06\x41MPERE\x10\x01\x12\x0f\n\x0bMILLIAMPERE\x10\x02\x42\x08\n\x06_valueB\x0c\n\n_precision\"\xaf\x01\n\x07Voltage\x12\x12\n\x05value\x18\x01 \x01(\x02H\x00\x88\x01\x01\x12\x16\n\tprecision\x18\x02 \x01(\x02H\x01\x88\x01\x01\x12\'\n\x05units\x18\x03 \x01(\x0e\x32\x18.ord.Voltage.VoltageUnit\"7\n\x0bVoltageUnit\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\x08\n\x04VOLT\x10\x01\x12\r\n\tMILLIVOLT\x10\x02\x42\x08\n\x06_valueB\x0c\n\n_precision\"\xd1\x01\n\x06Length\x12\x12\n\x05value\x18\x01 \x01(\x02H\x00\x88\x01\x01\x12\x16\n\tprecision\x18\x02 \x01(\x02H\x01\x88\x01\x01\x12%\n\x05units\x18\x03 \x01(\x0e\x32\x16.ord.Length.LengthUnit\"\\\n\nLengthUnit\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\x0e\n\nCENTIMETER\x10\x01\x12\x0e\n\nMILLIMETER\x10\x02\x12\t\n\x05METER\x10\x03\x12\x08\n\x04INCH\x10\x04\x12\x08\n\x04\x46OOT\x10\x05\x42\x08\n\x06_valueB\x0c\n\n_precision\"\xc1\x01\n\nWavelength\x12\x12\n\x05value\x18\x01 \x01(\x02H\x00\x88\x01\x01\x12\x16\n\tprecision\x18\x02 \x01(\x02H\x01\x88\x01\x01\x12-\n\x05units\x18\x03 \x01(\x0e\x32\x1e.ord.Wavelength.WavelengthUnit\"@\n\x0eWavelengthUnit\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\r\n\tNANOMETER\x10\x01\x12\x0e\n\nWAVENUMBER\x10\x02\x42\x08\n\x06_valueB\x0c\n\n_precision\"\xa0\x02\n\x08\x46lowRate\x12\x12\n\x05value\x18\x01 \x01(\x02H\x00\x88\x01\x01\x12\x16\n\tprecision\x18\x02 \x01(\x02H\x01\x88\x01\x01\x12)\n\x05units\x18\x03 \x01(\x0e\x32\x1a.ord.FlowRate.FlowRateUnit\"\xa4\x01\n\x0c\x46lowRateUnit\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\x19\n\x15MICROLITER_PER_MINUTE\x10\x01\x12\x19\n\x15MICROLITER_PER_SECOND\x10\x02\x12\x19\n\x15MILLILITER_PER_MINUTE\x10\x03\x12\x19\n\x15MILLILITER_PER_SECOND\x10\x04\x12\x17\n\x13MICROLITER_PER_HOUR\x10\x05\x42\x08\n\x06_valueB\x0c\n\n_precision\"P\n\nPercentage\x12\x12\n\x05value\x18\x01 \x01(\x02H\x00\x88\x01\x01\x12\x16\n\tprecision\x18\x02 \x01(\x02H\x01\x88\x01\x01\x42\x08\n\x06_valueB\x0c\n\n_precision\"P\n\nFloatValue\x12\x12\n\x05value\x18\x01 \x01(\x02H\x00\x88\x01\x01\x12\x16\n\tprecision\x18\x02 \x01(\x02H\x01\x88\x01\x01\x42\x08\n\x06_valueB\x0c\n\n_precision\"\xa1\x01\n\x04\x44\x61ta\x12\x15\n\x0b\x66loat_value\x18\x01 \x01(\x02H\x00\x12\x17\n\rinteger_value\x18\x02 \x01(\x05H\x00\x12\x15\n\x0b\x62ytes_value\x18\x03 \x01(\x0cH\x00\x12\x16\n\x0cstring_value\x18\x04 \x01(\tH\x00\x12\r\n\x03url\x18\x05 \x01(\tH\x00\x12\x13\n\x0b\x64\x65scription\x18\x06 \x01(\t\x12\x0e\n\x06\x66ormat\x18\x07 \x01(\tB\x06\n\x04kindb\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1ford-schema/proto/reaction.proto\x12\x03ord\"\xd9\x03\n\x08Reaction\x12,\n\x0bidentifiers\x18\x01 \x03(\x0b\x32\x17.ord.ReactionIdentifier\x12)\n\x06inputs\x18\x02 \x03(\x0b\x32\x19.ord.Reaction.InputsEntry\x12!\n\x05setup\x18\x03 \x01(\x0b\x32\x12.ord.ReactionSetup\x12+\n\nconditions\x18\x04 \x01(\x0b\x32\x17.ord.ReactionConditions\x12!\n\x05notes\x18\x05 \x01(\x0b\x32\x12.ord.ReactionNotes\x12.\n\x0cobservations\x18\x06 \x03(\x0b\x32\x18.ord.ReactionObservation\x12$\n\x07workups\x18\x07 \x03(\x0b\x32\x13.ord.ReactionWorkup\x12&\n\x08outcomes\x18\x08 \x03(\x0b\x32\x14.ord.ReactionOutcome\x12+\n\nprovenance\x18\t \x01(\x0b\x32\x17.ord.ReactionProvenance\x12\x13\n\x0breaction_id\x18\n \x01(\t\x1a\x41\n\x0bInputsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12!\n\x05value\x18\x02 \x01(\x0b\x32\x12.ord.ReactionInput:\x02\x38\x01\"\xa7\x02\n\x12ReactionIdentifier\x12<\n\x04type\x18\x01 \x01(\x0e\x32..ord.ReactionIdentifier.ReactionIdentifierType\x12\x0f\n\x07\x64\x65tails\x18\x02 \x01(\t\x12\r\n\x05value\x18\x03 \x01(\t\x12\x16\n\tis_mapped\x18\x04 \x01(\x08H\x00\x88\x01\x01\"\x8c\x01\n\x16ReactionIdentifierType\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\n\n\x06\x43USTOM\x10\x01\x12\x13\n\x0fREACTION_SMILES\x10\x02\x12\x15\n\x11REACTION_CXSMILES\x10\x06\x12\n\n\x06RDFILE\x10\x03\x12\n\n\x06RINCHI\x10\x04\x12\x11\n\rREACTION_TYPE\x10\x05\x42\x0c\n\n_is_mapped\"\x9f\x07\n\rReactionInput\x12!\n\ncomponents\x18\x01 \x03(\x0b\x32\r.ord.Compound\x12-\n\x10\x63rude_components\x18\x02 \x03(\x0b\x32\x13.ord.CrudeComponent\x12\x16\n\x0e\x61\x64\x64ition_order\x18\x03 \x01(\x05\x12 \n\raddition_time\x18\x04 \x01(\x0b\x32\t.ord.Time\x12\x38\n\x0e\x61\x64\x64ition_speed\x18\x05 \x01(\x0b\x32 .ord.ReactionInput.AdditionSpeed\x12$\n\x11\x61\x64\x64ition_duration\x18\x06 \x01(\x0b\x32\t.ord.Time\x12 \n\tflow_rate\x18\x07 \x01(\x0b\x32\r.ord.FlowRate\x12:\n\x0f\x61\x64\x64ition_device\x18\x08 \x01(\x0b\x32!.ord.ReactionInput.AdditionDevice\x12.\n\x14\x61\x64\x64ition_temperature\x18\t \x01(\x0b\x32\x10.ord.Temperature\x12+\n\x0fstate_of_matter\x18\n \x01(\x0b\x32\x12.ord.StateOfMatter\x12\x34\n\x13mixture_description\x18\x0b \x01(\x0b\x32\x17.ord.MixtureDescription\x1a\xdc\x01\n\rAdditionSpeed\x12@\n\x04type\x18\x01 \x01(\x0e\x32\x32.ord.ReactionInput.AdditionSpeed.AdditionSpeedType\x12\x0f\n\x07\x64\x65tails\x18\x02 \x01(\t\"x\n\x11\x41\x64\x64itionSpeedType\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\x0f\n\x0b\x41LL_AT_ONCE\x10\x01\x12\x08\n\x04\x46\x41ST\x10\x02\x12\x08\n\x04SLOW\x10\x03\x12\x0c\n\x08\x44ROPWISE\x10\x04\x12\x0e\n\nCONTINUOUS\x10\x05\x12\x0f\n\x0bPORTIONWISE\x10\x06\x1a\xd1\x01\n\x0e\x41\x64\x64itionDevice\x12\x42\n\x04type\x18\x01 \x01(\x0e\x32\x34.ord.ReactionInput.AdditionDevice.AdditionDeviceType\x12\x0f\n\x07\x64\x65tails\x18\x02 \x01(\t\"j\n\x12\x41\x64\x64itionDeviceType\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\n\n\x06\x43USTOM\x10\x01\x12\x08\n\x04NONE\x10\x02\x12\x0b\n\x07SYRINGE\x10\x03\x12\x0b\n\x07\x43\x41NNULA\x10\x04\x12\x13\n\x0f\x41\x44\x44ITION_FUNNEL\x10\x05\"\xd6\x01\n\x06\x41mount\x12\x19\n\x04mass\x18\x01 \x01(\x0b\x32\t.ord.MassH\x00\x12\x1b\n\x05moles\x18\x02 \x01(\x0b\x32\n.ord.MolesH\x00\x12\x1d\n\x06volume\x18\x03 \x01(\x0b\x32\x0b.ord.VolumeH\x00\x12+\n\nunmeasured\x18\x05 \x01(\x0b\x32\x15.ord.UnmeasuredAmountH\x00\x12$\n\x17volume_includes_solutes\x18\x04 \x01(\x08H\x01\x88\x01\x01\x42\x06\n\x04kindB\x1a\n\x18_volume_includes_solutes\"\xbe\x01\n\x10UnmeasuredAmount\x12\x38\n\x04type\x18\x01 \x01(\x0e\x32*.ord.UnmeasuredAmount.UnmeasuredAmountType\x12\x0f\n\x07\x64\x65tails\x18\x02 \x01(\t\"_\n\x14UnmeasuredAmountType\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\n\n\x06\x43USTOM\x10\x01\x12\r\n\tSATURATED\x10\x02\x12\r\n\tCATALYTIC\x10\x03\x12\x0c\n\x08TITRATED\x10\x04\"\x8f\x02\n\x0e\x43rudeComponent\x12\x13\n\x0breaction_id\x18\x01 \x01(\t\x12\x1c\n\x0fincludes_workup\x18\x02 \x01(\x08H\x00\x88\x01\x01\x12\x1f\n\x12has_derived_amount\x18\x03 \x01(\x08H\x01\x88\x01\x01\x12\x1b\n\x06\x61mount\x18\x04 \x01(\x0b\x32\x0b.ord.Amount\x12+\n\x0fstate_of_matter\x18\x05 \x01(\x0b\x32\x12.ord.StateOfMatter\x12\x34\n\x13mixture_description\x18\x06 \x01(\x0b\x32\x17.ord.MixtureDescriptionB\x12\n\x10_includes_workupB\x15\n\x13_has_derived_amount\"\x88\x05\n\x08\x43ompound\x12,\n\x0bidentifiers\x18\x01 \x03(\x0b\x32\x17.ord.CompoundIdentifier\x12\x1b\n\x06\x61mount\x18\x02 \x01(\x0b\x32\x0b.ord.Amount\x12\x39\n\rreaction_role\x18\x03 \x01(\x0e\x32\".ord.ReactionRole.ReactionRoleType\x12\x18\n\x0bis_limiting\x18\x04 \x01(\x08H\x00\x88\x01\x01\x12.\n\x0cpreparations\x18\x05 \x03(\x0b\x32\x18.ord.CompoundPreparation\x12$\n\x06source\x18\x06 \x01(\x0b\x32\x14.ord.Compound.Source\x12-\n\x08\x66\x65\x61tures\x18\x07 \x03(\x0b\x32\x1b.ord.Compound.FeaturesEntry\x12-\n\x08\x61nalyses\x18\x08 \x03(\x0b\x32\x1b.ord.Compound.AnalysesEntry\x12+\n\x0fstate_of_matter\x18\t \x01(\x0b\x32\x12.ord.StateOfMatter\x12\x34\n\x13mixture_description\x18\n \x01(\x0b\x32\x17.ord.MixtureDescription\x1a\x39\n\x06Source\x12\x0e\n\x06vendor\x18\x01 \x01(\t\x12\x12\n\ncatalog_id\x18\x02 \x01(\t\x12\x0b\n\x03lot\x18\x03 \x01(\t\x1a:\n\rFeaturesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x18\n\x05value\x18\x02 \x01(\x0b\x32\t.ord.Data:\x02\x38\x01\x1a>\n\rAnalysesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x1c\n\x05value\x18\x02 \x01(\x0b\x32\r.ord.Analysis:\x02\x38\x01\x42\x0e\n\x0c_is_limiting\"a\n\rStateOfMatter\"P\n\x11StateOfMatterType\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\t\n\x05SOLID\x10\x01\x12\n\n\x06LIQUID\x10\x02\x12\x07\n\x03GAS\x10\x03\x12\n\n\x06PLASMA\x10\x04\"\xc9\x01\n\x12MixtureDescription\x12\x31\n\x04type\x18\x02 \x01(\x0e\x32#.ord.MixtureDescription.MixtureType\x12\x0f\n\x07\x64\x65tails\x18\x03 \x01(\t\"o\n\x0bMixtureType\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\x0c\n\x08SOLUTION\x10\x01\x12\x0b\n\x07\x43olloid\x10\x02\x12\x0e\n\nDispersion\x10\x03\x12\x0e\n\nSuspension\x10\x04\x12\x08\n\x04PURE\x10\x05\x12\n\n\x06\x43USTOM\x10\x06\"\xd3\x01\n\x0cReactionRole\"\xc2\x01\n\x10ReactionRoleType\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\x0c\n\x08REACTANT\x10\x01\x12\x0b\n\x07REAGENT\x10\x02\x12\x0b\n\x07SOLVENT\x10\x03\x12\x0c\n\x08\x43\x41TALYST\x10\x04\x12\n\n\x06WORKUP\x10\x05\x12\x15\n\x11INTERNAL_STANDARD\x10\x06\x12\x16\n\x12\x41UTHENTIC_STANDARD\x10\x07\x12\x0b\n\x07PRODUCT\x10\x08\x12\r\n\tBYPRODUCT\x10\t\x12\x10\n\x0cSIDE_PRODUCT\x10\n\"\xf6\x01\n\x13\x43ompoundPreparation\x12>\n\x04type\x18\x01 \x01(\x0e\x32\x30.ord.CompoundPreparation.CompoundPreparationType\x12\x0f\n\x07\x64\x65tails\x18\x02 \x01(\t\x12\x13\n\x0breaction_id\x18\x03 \x01(\t\"y\n\x17\x43ompoundPreparationType\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\n\n\x06\x43USTOM\x10\x01\x12\x08\n\x04NONE\x10\x02\x12\x0e\n\nREPURIFIED\x10\x03\x12\x0b\n\x07SPARGED\x10\x04\x12\t\n\x05\x44RIED\x10\x05\x12\x0f\n\x0bSYNTHESIZED\x10\x06\"\x82\x03\n\x12\x43ompoundIdentifier\x12<\n\x04type\x18\x01 \x01(\x0e\x32..ord.CompoundIdentifier.CompoundIdentifierType\x12\x0f\n\x07\x64\x65tails\x18\x02 \x01(\t\x12\r\n\x05value\x18\x03 \x01(\t\"\x8d\x02\n\x16\x43ompoundIdentifierType\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\n\n\x06\x43USTOM\x10\x01\x12\n\n\x06SMILES\x10\x02\x12\t\n\x05INCHI\x10\x03\x12\x0c\n\x08MOLBLOCK\x10\x04\x12\x0e\n\nIUPAC_NAME\x10\x05\x12\x08\n\x04NAME\x10\x06\x12\x0e\n\nCAS_NUMBER\x10\x07\x12\x0f\n\x0bPUBCHEM_CID\x10\x08\x12\x11\n\rCHEMSPIDER_ID\x10\t\x12\x0c\n\x08\x43XSMILES\x10\n\x12\r\n\tINCHI_KEY\x10\x0b\x12\x07\n\x03XYZ\x10\x0c\x12\x0e\n\nUNIPROT_ID\x10\r\x12\n\n\x06PDB_ID\x10\x0e\x12\x17\n\x13\x41MINO_ACID_SEQUENCE\x10\x0f\x12\x08\n\x04HELM\x10\x10\"\xa7\x04\n\x06Vessel\x12$\n\x04type\x18\x01 \x01(\x0e\x32\x16.ord.Vessel.VesselType\x12\x0f\n\x07\x64\x65tails\x18\x02 \x01(\t\x12%\n\x08material\x18\x03 \x01(\x0b\x32\x13.ord.VesselMaterial\x12,\n\x0cpreparations\x18\x04 \x03(\x0b\x32\x16.ord.VesselPreparation\x12*\n\x0b\x61ttachments\x18\x05 \x03(\x0b\x32\x15.ord.VesselAttachment\x12\x1b\n\x06volume\x18\x06 \x01(\x0b\x32\x0b.ord.Volume\x12\x11\n\tvessel_id\x18\x07 \x01(\t\x12\x10\n\x08position\x18\x08 \x01(\t\x12\x0b\n\x03row\x18\t \x01(\t\x12\x0b\n\x03\x63ol\x18\n \x01(\t\"\x88\x02\n\nVesselType\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\n\n\x06\x43USTOM\x10\x01\x12\x16\n\x12ROUND_BOTTOM_FLASK\x10\x02\x12\x08\n\x04VIAL\x10\x03\x12\x0e\n\nWELL_PLATE\x10\x04\x12\x12\n\x0eMICROWAVE_VIAL\x10\x05\x12\x08\n\x04TUBE\x10\x06\x12#\n\x1f\x43ONTINUOUS_STIRRED_TANK_REACTOR\x10\x07\x12\x16\n\x12PACKED_BED_REACTOR\x10\x08\x12\x0c\n\x08NMR_TUBE\x10\t\x12\x12\n\x0ePRESSURE_FLASK\x10\n\x12\x14\n\x10PRESSURE_REACTOR\x10\x0b\x12\x18\n\x14\x45LECTROCHEMICAL_CELL\x10\x0c\"\xcc\x01\n\x0eVesselMaterial\x12\x34\n\x04type\x18\x01 \x01(\x0e\x32&.ord.VesselMaterial.VesselMaterialType\x12\x0f\n\x07\x64\x65tails\x18\x02 \x01(\t\"s\n\x12VesselMaterialType\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\n\n\x06\x43USTOM\x10\x01\x12\t\n\x05GLASS\x10\x02\x12\x11\n\rPOLYPROPYLENE\x10\x03\x12\x0b\n\x07PLASTIC\x10\x04\x12\t\n\x05METAL\x10\x05\x12\n\n\x06QUARTZ\x10\x06\"\x97\x03\n\x10VesselAttachment\x12\x38\n\x04type\x18\x01 \x01(\x0e\x32*.ord.VesselAttachment.VesselAttachmentType\x12\x0f\n\x07\x64\x65tails\x18\x02 \x01(\t\"\xb7\x02\n\x14VesselAttachmentType\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\x08\n\x04NONE\x10\x01\x12\n\n\x06\x43USTOM\x10\x02\x12\n\n\x06SEPTUM\x10\x03\x12\x07\n\x03\x43\x41P\x10\x04\x12\x07\n\x03MAT\x10\x05\x12\x14\n\x10REFLUX_CONDENSER\x10\x06\x12\x0f\n\x0bVENT_NEEDLE\x10\x07\x12\x0e\n\nDEAN_STARK\x10\x08\x12\x0f\n\x0bVACUUM_TUBE\x10\t\x12\x13\n\x0f\x41\x44\x44ITION_FUNNEL\x10\n\x12\x0f\n\x0b\x44RYING_TUBE\x10\x0b\x12\x11\n\rALUMINUM_FOIL\x10\x0c\x12\x10\n\x0cTHERMOCOUPLE\x10\r\x12\x0b\n\x07\x42\x41LLOON\x10\x0e\x12\x0f\n\x0bGAS_ADAPTER\x10\x0f\x12\x16\n\x12PRESSURE_REGULATOR\x10\x10\x12\x11\n\rRELEASE_VALVE\x10\x11\"\xe8\x01\n\x11VesselPreparation\x12:\n\x04type\x18\x01 \x01(\x0e\x32,.ord.VesselPreparation.VesselPreparationType\x12\x0f\n\x07\x64\x65tails\x18\x02 \x01(\t\"\x85\x01\n\x15VesselPreparationType\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\n\n\x06\x43USTOM\x10\x01\x12\x08\n\x04NONE\x10\x02\x12\x0e\n\nOVEN_DRIED\x10\x03\x12\x0f\n\x0b\x46LAME_DRIED\x10\x04\x12\x18\n\x14\x45VACUATED_BACKFILLED\x10\x05\x12\n\n\x06PURGED\x10\x06\"\xa0\x04\n\rReactionSetup\x12\x1b\n\x06vessel\x18\x01 \x01(\x0b\x32\x0b.ord.Vessel\x12\x19\n\x0cis_automated\x18\x02 \x01(\x08H\x00\x88\x01\x01\x12\x1b\n\x13\x61utomation_platform\x18\x03 \x01(\t\x12?\n\x0f\x61utomation_code\x18\x04 \x03(\x0b\x32&.ord.ReactionSetup.AutomationCodeEntry\x12;\n\x0b\x65nvironment\x18\x05 \x01(\x0b\x32&.ord.ReactionSetup.ReactionEnvironment\x1a@\n\x13\x41utomationCodeEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x18\n\x05value\x18\x02 \x01(\x0b\x32\t.ord.Data:\x02\x38\x01\x1a\xe8\x01\n\x13ReactionEnvironment\x12L\n\x04type\x18\x01 \x01(\x0e\x32>.ord.ReactionSetup.ReactionEnvironment.ReactionEnvironmentType\x12\x0f\n\x07\x64\x65tails\x18\x02 \x01(\t\"r\n\x17ReactionEnvironmentType\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\n\n\x06\x43USTOM\x10\x01\x12\r\n\tFUME_HOOD\x10\x02\x12\r\n\tBENCH_TOP\x10\x03\x12\r\n\tGLOVE_BOX\x10\x04\x12\r\n\tGLOVE_BAG\x10\x05\x42\x0f\n\r_is_automated\"\xb5\x03\n\x12ReactionConditions\x12/\n\x0btemperature\x18\x01 \x01(\x0b\x32\x1a.ord.TemperatureConditions\x12)\n\x08pressure\x18\x02 \x01(\x0b\x32\x17.ord.PressureConditions\x12)\n\x08stirring\x18\x03 \x01(\x0b\x32\x17.ord.StirringConditions\x12\x31\n\x0cillumination\x18\x04 \x01(\x0b\x32\x1b.ord.IlluminationConditions\x12\x39\n\x10\x65lectrochemistry\x18\x05 \x01(\x0b\x32\x1f.ord.ElectrochemistryConditions\x12!\n\x04\x66low\x18\x06 \x01(\x0b\x32\x13.ord.FlowConditions\x12\x13\n\x06reflux\x18\x07 \x01(\x08H\x00\x88\x01\x01\x12\x0f\n\x02ph\x18\x08 \x01(\x02H\x01\x88\x01\x01\x12#\n\x16\x63onditions_are_dynamic\x18\t \x01(\x08H\x02\x88\x01\x01\x12\x0f\n\x07\x64\x65tails\x18\n \x01(\tB\t\n\x07_refluxB\x05\n\x03_phB\x19\n\x17_conditions_are_dynamic\"\xe2\x06\n\x15TemperatureConditions\x12>\n\x07\x63ontrol\x18\x01 \x01(\x0b\x32-.ord.TemperatureConditions.TemperatureControl\x12\"\n\x08setpoint\x18\x02 \x01(\x0b\x32\x10.ord.Temperature\x12G\n\x0cmeasurements\x18\x03 \x03(\x0b\x32\x31.ord.TemperatureConditions.TemperatureMeasurement\x1a\xd4\x02\n\x12TemperatureControl\x12R\n\x04type\x18\x01 \x01(\x0e\x32\x44.ord.TemperatureConditions.TemperatureControl.TemperatureControlType\x12\x0f\n\x07\x64\x65tails\x18\x02 \x01(\t\"\xd8\x01\n\x16TemperatureControlType\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\n\n\x06\x43USTOM\x10\x01\x12\x0b\n\x07\x41MBIENT\x10\x02\x12\x0c\n\x08OIL_BATH\x10\x03\x12\x0e\n\nWATER_BATH\x10\x04\x12\r\n\tSAND_BATH\x10\x05\x12\x0c\n\x08ICE_BATH\x10\x06\x12\x16\n\x12\x44RY_ALUMINUM_PLATE\x10\x07\x12\r\n\tMICROWAVE\x10\x08\x12\x10\n\x0c\x44RY_ICE_BATH\x10\t\x12\x0b\n\x07\x41IR_FAN\x10\n\x12\x13\n\x0fLIQUID_NITROGEN\x10\x0b\x1a\xc4\x02\n\x16TemperatureMeasurement\x12Z\n\x04type\x18\x01 \x01(\x0e\x32L.ord.TemperatureConditions.TemperatureMeasurement.TemperatureMeasurementType\x12\x0f\n\x07\x64\x65tails\x18\x02 \x01(\t\x12\x17\n\x04time\x18\x03 \x01(\x0b\x32\t.ord.Time\x12%\n\x0btemperature\x18\x04 \x01(\x0b\x32\x10.ord.Temperature\"}\n\x1aTemperatureMeasurementType\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\n\n\x06\x43USTOM\x10\x01\x12\x19\n\x15THERMOCOUPLE_INTERNAL\x10\x02\x12\x19\n\x15THERMOCOUPLE_EXTERNAL\x10\x03\x12\x0c\n\x08INFRARED\x10\x04\"\x8c\x08\n\x12PressureConditions\x12\x38\n\x07\x63ontrol\x18\x01 \x01(\x0b\x32\'.ord.PressureConditions.PressureControl\x12\x1f\n\x08setpoint\x18\x02 \x01(\x0b\x32\r.ord.Pressure\x12\x36\n\natmosphere\x18\x03 \x01(\x0b\x32\".ord.PressureConditions.Atmosphere\x12\x41\n\x0cmeasurements\x18\x04 \x03(\x0b\x32+.ord.PressureConditions.PressureMeasurement\x1a\xe0\x01\n\x0fPressureControl\x12I\n\x04type\x18\x01 \x01(\x0e\x32;.ord.PressureConditions.PressureControl.PressureControlType\x12\x0f\n\x07\x64\x65tails\x18\x02 \x01(\t\"q\n\x13PressureControlType\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\n\n\x06\x43USTOM\x10\x01\x12\x0b\n\x07\x41MBIENT\x10\x02\x12\x13\n\x0fSLIGHT_POSITIVE\x10\x03\x12\n\n\x06SEALED\x10\x04\x12\x0f\n\x0bPRESSURIZED\x10\x05\x1a\xb5\x02\n\nAtmosphere\x12?\n\x04type\x18\x01 \x01(\x0e\x32\x31.ord.PressureConditions.Atmosphere.AtmosphereType\x12\x0f\n\x07\x64\x65tails\x18\x02 \x01(\t\"\xd4\x01\n\x0e\x41tmosphereType\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\n\n\x06\x43USTOM\x10\x01\x12\x07\n\x03\x41IR\x10\x02\x12\x0c\n\x08NITROGEN\x10\x03\x12\t\n\x05\x41RGON\x10\x04\x12\n\n\x06OXYGEN\x10\x05\x12\x0c\n\x08HYDROGEN\x10\x06\x12\x13\n\x0f\x43\x41RBON_MONOXIDE\x10\x07\x12\x12\n\x0e\x43\x41RBON_DIOXIDE\x10\x08\x12\x0b\n\x07METHANE\x10\t\x12\x0b\n\x07\x41MMONIA\x10\n\x12\t\n\x05OZONE\x10\x0b\x12\x0c\n\x08\x45THYLENE\x10\x0c\x12\r\n\tACETYLENE\x10\r\x1a\x84\x02\n\x13PressureMeasurement\x12Q\n\x04type\x18\x01 \x01(\x0e\x32\x43.ord.PressureConditions.PressureMeasurement.PressureMeasurementType\x12\x0f\n\x07\x64\x65tails\x18\x02 \x01(\t\x12\x17\n\x04time\x18\x03 \x01(\x0b\x32\t.ord.Time\x12\x1f\n\x08pressure\x18\x04 \x01(\x0b\x32\r.ord.Pressure\"O\n\x17PressureMeasurementType\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\n\n\x06\x43USTOM\x10\x01\x12\x17\n\x13PRESSURE_TRANSDUCER\x10\x02\"\xdc\x03\n\x12StirringConditions\x12\x38\n\x04type\x18\x01 \x01(\x0e\x32*.ord.StirringConditions.StirringMethodType\x12\x0f\n\x07\x64\x65tails\x18\x02 \x01(\t\x12\x32\n\x04rate\x18\x03 \x01(\x0b\x32$.ord.StirringConditions.StirringRate\x1a\xb5\x01\n\x0cStirringRate\x12\x43\n\x04type\x18\x01 \x01(\x0e\x32\x35.ord.StirringConditions.StirringRate.StirringRateType\x12\x0f\n\x07\x64\x65tails\x18\x02 \x01(\t\x12\x0b\n\x03rpm\x18\x03 \x01(\x05\"B\n\x10StirringRateType\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\x08\n\x04HIGH\x10\x01\x12\n\n\x06MEDIUM\x10\x02\x12\x07\n\x03LOW\x10\x03\"\x8e\x01\n\x12StirringMethodType\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\n\n\x06\x43USTOM\x10\x01\x12\x08\n\x04NONE\x10\x02\x12\x0c\n\x08STIR_BAR\x10\x03\x12\x12\n\x0eOVERHEAD_MIXER\x10\x04\x12\r\n\tAGITATION\x10\x05\x12\x10\n\x0c\x42\x41LL_MILLING\x10\x06\x12\x0e\n\nSONICATION\x10\x07\"\xe8\x02\n\x16IlluminationConditions\x12:\n\x04type\x18\x01 \x01(\x0e\x32,.ord.IlluminationConditions.IlluminationType\x12\x0f\n\x07\x64\x65tails\x18\x02 \x01(\t\x12(\n\x0fpeak_wavelength\x18\x03 \x01(\x0b\x32\x0f.ord.Wavelength\x12\r\n\x05\x63olor\x18\x04 \x01(\t\x12\'\n\x12\x64istance_to_vessel\x18\x05 \x01(\x0b\x32\x0b.ord.Length\"\x9e\x01\n\x10IlluminationType\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\n\n\x06\x43USTOM\x10\x01\x12\x0b\n\x07\x41MBIENT\x10\x02\x12\x08\n\x04\x44\x41RK\x10\x03\x12\x07\n\x03LED\x10\x04\x12\x10\n\x0cHALOGEN_LAMP\x10\x05\x12\x12\n\x0e\x44\x45UTERIUM_LAMP\x10\x06\x12\x13\n\x0fSOLAR_SIMULATOR\x10\x07\x12\x12\n\x0e\x42ROAD_SPECTRUM\x10\x08\"\xe0\x06\n\x1a\x45lectrochemistryConditions\x12\x42\n\x04type\x18\x01 \x01(\x0e\x32\x34.ord.ElectrochemistryConditions.ElectrochemistryType\x12\x0f\n\x07\x64\x65tails\x18\x02 \x01(\t\x12\x1d\n\x07\x63urrent\x18\x03 \x01(\x0b\x32\x0c.ord.Current\x12\x1d\n\x07voltage\x18\x04 \x01(\x0b\x32\x0c.ord.Voltage\x12\x16\n\x0e\x61node_material\x18\x05 \x01(\t\x12\x18\n\x10\x63\x61thode_material\x18\x06 \x01(\t\x12)\n\x14\x65lectrode_separation\x18\x07 \x01(\x0b\x32\x0b.ord.Length\x12Q\n\x0cmeasurements\x18\x08 \x03(\x0b\x32;.ord.ElectrochemistryConditions.ElectrochemistryMeasurement\x12\x42\n\x04\x63\x65ll\x18\t \x01(\x0b\x32\x34.ord.ElectrochemistryConditions.ElectrochemistryCell\x1at\n\x1b\x45lectrochemistryMeasurement\x12\x17\n\x04time\x18\x01 \x01(\x0b\x32\t.ord.Time\x12\x1d\n\x07\x63urrent\x18\x02 \x01(\x0b\x32\x0c.ord.Current\x12\x1d\n\x07voltage\x18\x03 \x01(\x0b\x32\x0c.ord.Voltage\x1a\xe3\x01\n\x14\x45lectrochemistryCell\x12[\n\x04type\x18\x01 \x01(\x0e\x32M.ord.ElectrochemistryConditions.ElectrochemistryCell.ElectrochemistryCellType\x12\x0f\n\x07\x64\x65tails\x18\x02 \x01(\t\"]\n\x18\x45lectrochemistryCellType\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\n\n\x06\x43USTOM\x10\x01\x12\x10\n\x0c\x44IVIDED_CELL\x10\x02\x12\x12\n\x0eUNDIVIDED_CELL\x10\x03\"_\n\x14\x45lectrochemistryType\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\n\n\x06\x43USTOM\x10\x01\x12\x14\n\x10\x43ONSTANT_CURRENT\x10\x02\x12\x14\n\x10\x43ONSTANT_VOLTAGE\x10\x03\"\x94\x04\n\x0e\x46lowConditions\x12*\n\x04type\x18\x01 \x01(\x0e\x32\x1c.ord.FlowConditions.FlowType\x12\x0f\n\x07\x64\x65tails\x18\x02 \x01(\t\x12\x11\n\tpump_type\x18\x03 \x01(\t\x12*\n\x06tubing\x18\x04 \x01(\x0b\x32\x1a.ord.FlowConditions.Tubing\x1a\x88\x02\n\x06Tubing\x12\x33\n\x04type\x18\x01 \x01(\x0e\x32%.ord.FlowConditions.Tubing.TubingType\x12\x0f\n\x07\x64\x65tails\x18\x02 \x01(\t\x12\x1d\n\x08\x64iameter\x18\x03 \x01(\x0b\x32\x0b.ord.Length\"\x98\x01\n\nTubingType\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\n\n\x06\x43USTOM\x10\x01\x12\t\n\x05STEEL\x10\x02\x12\n\n\x06\x43OPPER\x10\x03\x12\x07\n\x03PFA\x10\x04\x12\x07\n\x03\x46\x45P\x10\x05\x12\x0c\n\x08TEFLONAF\x10\x06\x12\x08\n\x04PTFE\x10\x07\x12\t\n\x05GLASS\x10\x08\x12\n\n\x06QUARTZ\x10\t\x12\x0b\n\x07SILICON\x10\n\x12\x08\n\x04PDMS\x10\x0b\"{\n\x08\x46lowType\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\n\n\x06\x43USTOM\x10\x01\x12\x15\n\x11PLUG_FLOW_REACTOR\x10\x02\x12#\n\x1f\x43ONTINUOUS_STIRRED_TANK_REACTOR\x10\x03\x12\x16\n\x12PACKED_BED_REACTOR\x10\x04\"\xc0\x03\n\rReactionNotes\x12\x1d\n\x10is_heterogeneous\x18\x01 \x01(\x08H\x00\x88\x01\x01\x12\x1e\n\x11\x66orms_precipitate\x18\x02 \x01(\x08H\x01\x88\x01\x01\x12\x1a\n\ris_exothermic\x18\x03 \x01(\x08H\x02\x88\x01\x01\x12\x16\n\toffgasses\x18\x04 \x01(\x08H\x03\x88\x01\x01\x12%\n\x18is_sensitive_to_moisture\x18\x05 \x01(\x08H\x04\x88\x01\x01\x12#\n\x16is_sensitive_to_oxygen\x18\x06 \x01(\x08H\x05\x88\x01\x01\x12\"\n\x15is_sensitive_to_light\x18\x07 \x01(\x08H\x06\x88\x01\x01\x12\x14\n\x0csafety_notes\x18\x08 \x01(\t\x12\x19\n\x11procedure_details\x18\t \x01(\tB\x13\n\x11_is_heterogeneousB\x14\n\x12_forms_precipitateB\x10\n\x0e_is_exothermicB\x0c\n\n_offgassesB\x1b\n\x19_is_sensitive_to_moistureB\x19\n\x17_is_sensitive_to_oxygenB\x18\n\x16_is_sensitive_to_light\"Y\n\x13ReactionObservation\x12\x17\n\x04time\x18\x01 \x01(\x0b\x32\t.ord.Time\x12\x0f\n\x07\x63omment\x18\x02 \x01(\t\x12\x18\n\x05image\x18\x03 \x01(\x0b\x32\t.ord.Data\"\xcb\x05\n\x0eReactionWorkup\x12\x34\n\x04type\x18\x01 \x01(\x0e\x32&.ord.ReactionWorkup.ReactionWorkupType\x12\x0f\n\x07\x64\x65tails\x18\x02 \x01(\t\x12\x1b\n\x08\x64uration\x18\x03 \x01(\x0b\x32\t.ord.Time\x12!\n\x05input\x18\x04 \x01(\x0b\x32\x12.ord.ReactionInput\x12\x1b\n\x06\x61mount\x18\x05 \x01(\x0b\x32\x0b.ord.Amount\x12/\n\x0btemperature\x18\x06 \x01(\x0b\x32\x1a.ord.TemperatureConditions\x12\x12\n\nkeep_phase\x18\x07 \x01(\t\x12)\n\x08stirring\x18\x08 \x01(\x0b\x32\x17.ord.StirringConditions\x12\x16\n\ttarget_ph\x18\t \x01(\x02H\x00\x88\x01\x01\x12\x19\n\x0cis_automated\x18\n \x01(\x08H\x01\x88\x01\x01\"\xd2\x02\n\x12ReactionWorkupType\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\n\n\x06\x43USTOM\x10\x01\x12\x0c\n\x08\x41\x44\x44ITION\x10\x02\x12\x0b\n\x07\x41LIQUOT\x10\x03\x12\x0f\n\x0bTEMPERATURE\x10\x04\x12\x11\n\rCONCENTRATION\x10\x05\x12\x0e\n\nEXTRACTION\x10\x06\x12\x0e\n\nFILTRATION\x10\x07\x12\x08\n\x04WASH\x10\x08\x12\x11\n\rDRY_IN_VACUUM\x10\t\x12\x15\n\x11\x44RY_WITH_MATERIAL\x10\n\x12\x18\n\x14\x46LASH_CHROMATOGRAPHY\x10\x0b\x12\x18\n\x14OTHER_CHROMATOGRAPHY\x10\x0c\x12\x0e\n\nSCAVENGING\x10\r\x12\x08\n\x04WAIT\x10\x0e\x12\x0c\n\x08STIRRING\x10\x0f\x12\r\n\tPH_ADJUST\x10\x10\x12\x0f\n\x0b\x44ISSOLUTION\x10\x11\x12\x10\n\x0c\x44ISTILLATION\x10\x12\x42\x0c\n\n_target_phB\x0f\n\r_is_automated\"\xf6\x01\n\x0fReactionOutcome\x12 \n\rreaction_time\x18\x01 \x01(\x0b\x32\t.ord.Time\x12#\n\nconversion\x18\x02 \x01(\x0b\x32\x0f.ord.Percentage\x12&\n\x08products\x18\x03 \x03(\x0b\x32\x14.ord.ProductCompound\x12\x34\n\x08\x61nalyses\x18\x04 \x03(\x0b\x32\".ord.ReactionOutcome.AnalysesEntry\x1a>\n\rAnalysesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x1c\n\x05value\x18\x02 \x01(\x0b\x32\r.ord.Analysis:\x02\x38\x01\"\x8d\x05\n\x0fProductCompound\x12,\n\x0bidentifiers\x18\x01 \x03(\x0b\x32\x17.ord.CompoundIdentifier\x12\x1f\n\x12is_desired_product\x18\x02 \x01(\x08H\x00\x88\x01\x01\x12-\n\x0cmeasurements\x18\x03 \x03(\x0b\x32\x17.ord.ProductMeasurement\x12\x16\n\x0eisolated_color\x18\x04 \x01(\t\x12-\n\x07texture\x18\x05 \x01(\x0b\x32\x1c.ord.ProductCompound.Texture\x12\x34\n\x08\x66\x65\x61tures\x18\x06 \x03(\x0b\x32\".ord.ProductCompound.FeaturesEntry\x12\x39\n\rreaction_role\x18\x07 \x01(\x0e\x32\".ord.ReactionRole.ReactionRoleType\x1a\xf0\x01\n\x07Texture\x12\x36\n\x04type\x18\x01 \x01(\x0e\x32(.ord.ProductCompound.Texture.TextureType\x12\x0f\n\x07\x64\x65tails\x18\x02 \x01(\t\"\x9b\x01\n\x0bTextureType\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\n\n\x06\x43USTOM\x10\x01\x12\n\n\x06POWDER\x10\x02\x12\x0b\n\x07\x43RYSTAL\x10\x03\x12\x07\n\x03OIL\x10\x04\x12\x13\n\x0f\x41MORPHOUS_SOLID\x10\x05\x12\x08\n\x04\x46OAM\x10\x06\x12\x07\n\x03WAX\x10\x07\x12\x0e\n\nSEMI_SOLID\x10\x08\x12\t\n\x05SOLID\x10\t\x12\n\n\x06LIQUID\x10\n\x1a:\n\rFeaturesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x18\n\x05value\x18\x02 \x01(\x0b\x32\t.ord.Data:\x02\x38\x01\x42\x15\n\x13_is_desired_product\"\xfb\n\n\x12ProductMeasurement\x12\x14\n\x0c\x61nalysis_key\x18\x01 \x01(\t\x12<\n\x04type\x18\x02 \x01(\x0e\x32..ord.ProductMeasurement.ProductMeasurementType\x12\x0f\n\x07\x64\x65tails\x18\x03 \x01(\t\x12#\n\x16uses_internal_standard\x18\x04 \x01(\x08H\x01\x88\x01\x01\x12\x1a\n\ris_normalized\x18\x05 \x01(\x08H\x02\x88\x01\x01\x12$\n\x17uses_authentic_standard\x18\x06 \x01(\x08H\x03\x88\x01\x01\x12)\n\x12\x61uthentic_standard\x18\x07 \x01(\x0b\x32\r.ord.Compound\x12%\n\npercentage\x18\x08 \x01(\x0b\x32\x0f.ord.PercentageH\x00\x12&\n\x0b\x66loat_value\x18\t \x01(\x0b\x32\x0f.ord.FloatValueH\x00\x12\x16\n\x0cstring_value\x18\n \x01(\tH\x00\x12\x1d\n\x06\x61mount\x18\x0b \x01(\x0b\x32\x0b.ord.AmountH\x00\x12!\n\x0eretention_time\x18\x0c \x01(\x0b\x32\t.ord.Time\x12M\n\x11mass_spec_details\x18\r \x01(\x0b\x32\x32.ord.ProductMeasurement.MassSpecMeasurementDetails\x12\x38\n\x0bselectivity\x18\x0e \x01(\x0b\x32#.ord.ProductMeasurement.Selectivity\x12#\n\nwavelength\x18\x0f \x01(\x0b\x32\x0f.ord.Wavelength\x1a\xe9\x02\n\x1aMassSpecMeasurementDetails\x12X\n\x04type\x18\x01 \x01(\x0e\x32J.ord.ProductMeasurement.MassSpecMeasurementDetails.MassSpecMeasurementType\x12\x0f\n\x07\x64\x65tails\x18\x02 \x01(\t\x12\x1b\n\x0etic_minimum_mz\x18\x03 \x01(\x02H\x00\x88\x01\x01\x12\x1b\n\x0etic_maximum_mz\x18\x04 \x01(\x02H\x01\x88\x01\x01\x12\x12\n\neic_masses\x18\x05 \x03(\x02\"l\n\x17MassSpecMeasurementType\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\n\n\x06\x43USTOM\x10\x01\x12\x07\n\x03TIC\x10\x02\x12\x10\n\x0cTIC_POSITIVE\x10\x03\x12\x10\n\x0cTIC_NEGATIVE\x10\x04\x12\x07\n\x03\x45IC\x10\x05\x42\x11\n\x0f_tic_minimum_mzB\x11\n\x0f_tic_maximum_mz\x1a\xb9\x01\n\x0bSelectivity\x12\x41\n\x04type\x18\x01 \x01(\x0e\x32\x33.ord.ProductMeasurement.Selectivity.SelectivityType\x12\x0f\n\x07\x64\x65tails\x18\x02 \x01(\t\"V\n\x0fSelectivityType\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\n\n\x06\x43USTOM\x10\x01\x12\x06\n\x02\x45\x45\x10\x02\x12\x06\n\x02\x45R\x10\x03\x12\x06\n\x02\x44R\x10\x04\x12\x06\n\x02\x45Z\x10\x05\x12\x06\n\x02ZE\x10\x06\"\x9c\x01\n\x16ProductMeasurementType\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\n\n\x06\x43USTOM\x10\x01\x12\x0c\n\x08IDENTITY\x10\x02\x12\t\n\x05YIELD\x10\x03\x12\x0f\n\x0bSELECTIVITY\x10\x04\x12\n\n\x06PURITY\x10\x05\x12\x08\n\x04\x41REA\x10\x06\x12\n\n\x06\x43OUNTS\x10\x07\x12\r\n\tINTENSITY\x10\x08\x12\n\n\x06\x41MOUNT\x10\tB\x07\n\x05valueB\x19\n\x17_uses_internal_standardB\x10\n\x0e_is_normalizedB\x1a\n\x18_uses_authentic_standard\"\x19\n\x08\x44\x61teTime\x12\r\n\x05value\x18\x01 \x01(\t\"\xcc\x04\n\x08\x41nalysis\x12(\n\x04type\x18\x01 \x01(\x0e\x32\x1a.ord.Analysis.AnalysisType\x12\x0f\n\x07\x64\x65tails\x18\x02 \x01(\t\x12\x0f\n\x07\x63hmo_id\x18\x03 \x01(\x05\x12#\n\x16is_of_isolated_species\x18\x04 \x01(\x08H\x00\x88\x01\x01\x12%\n\x04\x64\x61ta\x18\x05 \x03(\x0b\x32\x17.ord.Analysis.DataEntry\x12\x1f\n\x17instrument_manufacturer\x18\x06 \x01(\t\x12\x31\n\x1ainstrument_last_calibrated\x18\x07 \x01(\x0b\x32\r.ord.DateTime\x1a\x36\n\tDataEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x18\n\x05value\x18\x02 \x01(\x0b\x32\t.ord.Data:\x02\x38\x01\"\x80\x02\n\x0c\x41nalysisType\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\n\n\x06\x43USTOM\x10\x01\x12\x06\n\x02LC\x10\x02\x12\x06\n\x02GC\x10\x03\x12\x06\n\x02IR\x10\x04\x12\n\n\x06NMR_1H\x10\x05\x12\x0b\n\x07NMR_13C\x10\x06\x12\r\n\tNMR_OTHER\x10\x07\x12\x06\n\x02MP\x10\x08\x12\x06\n\x02UV\x10\t\x12\x07\n\x03TLC\x10\n\x12\x06\n\x02MS\x10\x0b\x12\x08\n\x04HRMS\x10\x0c\x12\x08\n\x04MSMS\x10\r\x12\n\n\x06WEIGHT\x10\x0e\x12\x08\n\x04LCMS\x10\x0f\x12\x08\n\x04GCMS\x10\x10\x12\x08\n\x04\x45LSD\x10\x11\x12\x06\n\x02\x43\x44\x10\x12\x12\x07\n\x03SFC\x10\x13\x12\x07\n\x03\x45PR\x10\x14\x12\x07\n\x03XRD\x10\x15\x12\t\n\x05RAMAN\x10\x16\x12\x06\n\x02\x45\x44\x10\x17\x42\x19\n\x17_is_of_isolated_species\"\xab\x03\n\x12ReactionProvenance\x12!\n\x0c\x65xperimenter\x18\x01 \x01(\x0b\x32\x0b.ord.Person\x12\x0c\n\x04\x63ity\x18\x02 \x01(\t\x12\'\n\x10\x65xperiment_start\x18\x03 \x01(\x0b\x32\r.ord.DateTime\x12\x0b\n\x03\x64oi\x18\x04 \x01(\t\x12\x0e\n\x06patent\x18\x05 \x01(\t\x12\x17\n\x0fpublication_url\x18\x06 \x01(\t\x12(\n\x0erecord_created\x18\x07 \x01(\x0b\x32\x10.ord.RecordEvent\x12)\n\x0frecord_modified\x18\x08 \x03(\x0b\x32\x10.ord.RecordEvent\x12H\n\x11reaction_metadata\x18\t \x03(\x0b\x32-.ord.ReactionProvenance.ReactionMetadataEntry\x12\x15\n\x08is_mined\x18\n \x01(\x08H\x00\x88\x01\x01\x1a\x42\n\x15ReactionMetadataEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x18\n\x05value\x18\x02 \x01(\x0b\x32\t.ord.Data:\x02\x38\x01\x42\x0b\n\t_is_mined\"\\\n\x06Person\x12\x10\n\x08username\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\r\n\x05orcid\x18\x03 \x01(\t\x12\x14\n\x0corganization\x18\x04 \x01(\t\x12\r\n\x05\x65mail\x18\x05 \x01(\t\"X\n\x0bRecordEvent\x12\x1b\n\x04time\x18\x01 \x01(\x0b\x32\r.ord.DateTime\x12\x1b\n\x06person\x18\x02 \x01(\x0b\x32\x0b.ord.Person\x12\x0f\n\x07\x64\x65tails\x18\x03 \x01(\t\"\xb5\x01\n\x04Time\x12\x12\n\x05value\x18\x01 \x01(\x02H\x00\x88\x01\x01\x12\x16\n\tprecision\x18\x02 \x01(\x02H\x01\x88\x01\x01\x12!\n\x05units\x18\x03 \x01(\x0e\x32\x12.ord.Time.TimeUnit\"F\n\x08TimeUnit\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\x07\n\x03\x44\x41Y\x10\x04\x12\x08\n\x04HOUR\x10\x01\x12\n\n\x06MINUTE\x10\x02\x12\n\n\x06SECOND\x10\x03\x42\x08\n\x06_valueB\x0c\n\n_precision\"\xc0\x01\n\x04Mass\x12\x12\n\x05value\x18\x01 \x01(\x02H\x00\x88\x01\x01\x12\x16\n\tprecision\x18\x02 \x01(\x02H\x01\x88\x01\x01\x12!\n\x05units\x18\x03 \x01(\x0e\x32\x12.ord.Mass.MassUnit\"Q\n\x08MassUnit\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\x0c\n\x08KILOGRAM\x10\x01\x12\x08\n\x04GRAM\x10\x02\x12\r\n\tMILLIGRAM\x10\x03\x12\r\n\tMICROGRAM\x10\x04\x42\x08\n\x06_valueB\x0c\n\n_precision\"\xc4\x01\n\x05Moles\x12\x12\n\x05value\x18\x01 \x01(\x02H\x00\x88\x01\x01\x12\x16\n\tprecision\x18\x02 \x01(\x02H\x01\x88\x01\x01\x12#\n\x05units\x18\x03 \x01(\x0e\x32\x14.ord.Moles.MolesUnit\"R\n\tMolesUnit\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\x08\n\x04MOLE\x10\x01\x12\r\n\tMILLIMOLE\x10\x02\x12\r\n\tMICROMOLE\x10\x03\x12\x0c\n\x08NANOMOLE\x10\x04\x42\x08\n\x06_valueB\x0c\n\n_precision\"\xcc\x01\n\x06Volume\x12\x12\n\x05value\x18\x01 \x01(\x02H\x00\x88\x01\x01\x12\x16\n\tprecision\x18\x02 \x01(\x02H\x01\x88\x01\x01\x12%\n\x05units\x18\x03 \x01(\x0e\x32\x16.ord.Volume.VolumeUnit\"W\n\nVolumeUnit\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\t\n\x05LITER\x10\x01\x12\x0e\n\nMILLILITER\x10\x02\x12\x0e\n\nMICROLITER\x10\x03\x12\r\n\tNANOLITER\x10\x04\x42\x08\n\x06_valueB\x0c\n\n_precision\"\xd9\x01\n\rConcentration\x12\x12\n\x05value\x18\x01 \x01(\x02H\x00\x88\x01\x01\x12\x16\n\tprecision\x18\x02 \x01(\x02H\x01\x88\x01\x01\x12\x33\n\x05units\x18\x03 \x01(\x0e\x32$.ord.Concentration.ConcentrationUnit\"O\n\x11\x43oncentrationUnit\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\t\n\x05MOLAR\x10\x01\x12\x0e\n\nMILLIMOLAR\x10\x02\x12\x0e\n\nMICROMOLAR\x10\x03\x42\x08\n\x06_valueB\x0c\n\n_precision\"\xf7\x01\n\x08Pressure\x12\x12\n\x05value\x18\x01 \x01(\x02H\x00\x88\x01\x01\x12\x16\n\tprecision\x18\x02 \x01(\x02H\x01\x88\x01\x01\x12)\n\x05units\x18\x03 \x01(\x0e\x32\x1a.ord.Pressure.PressureUnit\"|\n\x0cPressureUnit\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\x07\n\x03\x42\x41R\x10\x01\x12\x0e\n\nATMOSPHERE\x10\x02\x12\x07\n\x03PSI\x10\x03\x12\x08\n\x04KPSI\x10\x04\x12\n\n\x06PASCAL\x10\x05\x12\x0e\n\nKILOPASCAL\x10\x06\x12\x08\n\x04TORR\x10\x07\x12\t\n\x05MM_HG\x10\x08\x42\x08\n\x06_valueB\x0c\n\n_precision\"\xcf\x01\n\x0bTemperature\x12\x12\n\x05value\x18\x01 \x01(\x02H\x00\x88\x01\x01\x12\x16\n\tprecision\x18\x02 \x01(\x02H\x01\x88\x01\x01\x12/\n\x05units\x18\x03 \x01(\x0e\x32 .ord.Temperature.TemperatureUnit\"K\n\x0fTemperatureUnit\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\x0b\n\x07\x43\x45LSIUS\x10\x01\x12\x0e\n\nFAHRENHEIT\x10\x02\x12\n\n\x06KELVIN\x10\x03\x42\x08\n\x06_valueB\x0c\n\n_precision\"\xb3\x01\n\x07\x43urrent\x12\x12\n\x05value\x18\x01 \x01(\x02H\x00\x88\x01\x01\x12\x16\n\tprecision\x18\x02 \x01(\x02H\x01\x88\x01\x01\x12\'\n\x05units\x18\x03 \x01(\x0e\x32\x18.ord.Current.CurrentUnit\";\n\x0b\x43urrentUnit\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\n\n\x06\x41MPERE\x10\x01\x12\x0f\n\x0bMILLIAMPERE\x10\x02\x42\x08\n\x06_valueB\x0c\n\n_precision\"\xaf\x01\n\x07Voltage\x12\x12\n\x05value\x18\x01 \x01(\x02H\x00\x88\x01\x01\x12\x16\n\tprecision\x18\x02 \x01(\x02H\x01\x88\x01\x01\x12\'\n\x05units\x18\x03 \x01(\x0e\x32\x18.ord.Voltage.VoltageUnit\"7\n\x0bVoltageUnit\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\x08\n\x04VOLT\x10\x01\x12\r\n\tMILLIVOLT\x10\x02\x42\x08\n\x06_valueB\x0c\n\n_precision\"\xd1\x01\n\x06Length\x12\x12\n\x05value\x18\x01 \x01(\x02H\x00\x88\x01\x01\x12\x16\n\tprecision\x18\x02 \x01(\x02H\x01\x88\x01\x01\x12%\n\x05units\x18\x03 \x01(\x0e\x32\x16.ord.Length.LengthUnit\"\\\n\nLengthUnit\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\x0e\n\nCENTIMETER\x10\x01\x12\x0e\n\nMILLIMETER\x10\x02\x12\t\n\x05METER\x10\x03\x12\x08\n\x04INCH\x10\x04\x12\x08\n\x04\x46OOT\x10\x05\x42\x08\n\x06_valueB\x0c\n\n_precision\"\xc1\x01\n\nWavelength\x12\x12\n\x05value\x18\x01 \x01(\x02H\x00\x88\x01\x01\x12\x16\n\tprecision\x18\x02 \x01(\x02H\x01\x88\x01\x01\x12-\n\x05units\x18\x03 \x01(\x0e\x32\x1e.ord.Wavelength.WavelengthUnit\"@\n\x0eWavelengthUnit\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\r\n\tNANOMETER\x10\x01\x12\x0e\n\nWAVENUMBER\x10\x02\x42\x08\n\x06_valueB\x0c\n\n_precision\"\xa0\x02\n\x08\x46lowRate\x12\x12\n\x05value\x18\x01 \x01(\x02H\x00\x88\x01\x01\x12\x16\n\tprecision\x18\x02 \x01(\x02H\x01\x88\x01\x01\x12)\n\x05units\x18\x03 \x01(\x0e\x32\x1a.ord.FlowRate.FlowRateUnit\"\xa4\x01\n\x0c\x46lowRateUnit\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\x19\n\x15MICROLITER_PER_MINUTE\x10\x01\x12\x19\n\x15MICROLITER_PER_SECOND\x10\x02\x12\x19\n\x15MILLILITER_PER_MINUTE\x10\x03\x12\x19\n\x15MILLILITER_PER_SECOND\x10\x04\x12\x17\n\x13MICROLITER_PER_HOUR\x10\x05\x42\x08\n\x06_valueB\x0c\n\n_precision\"P\n\nPercentage\x12\x12\n\x05value\x18\x01 \x01(\x02H\x00\x88\x01\x01\x12\x16\n\tprecision\x18\x02 \x01(\x02H\x01\x88\x01\x01\x42\x08\n\x06_valueB\x0c\n\n_precision\"P\n\nFloatValue\x12\x12\n\x05value\x18\x01 \x01(\x02H\x00\x88\x01\x01\x12\x16\n\tprecision\x18\x02 \x01(\x02H\x01\x88\x01\x01\x42\x08\n\x06_valueB\x0c\n\n_precision\"\xa1\x01\n\x04\x44\x61ta\x12\x15\n\x0b\x66loat_value\x18\x01 \x01(\x02H\x00\x12\x17\n\rinteger_value\x18\x02 \x01(\x05H\x00\x12\x15\n\x0b\x62ytes_value\x18\x03 \x01(\x0cH\x00\x12\x16\n\x0cstring_value\x18\x04 \x01(\tH\x00\x12\r\n\x03url\x18\x05 \x01(\tH\x00\x12\x13\n\x0b\x64\x65scription\x18\x06 \x01(\t\x12\x0e\n\x06\x66ormat\x18\x07 \x01(\tB\x06\n\x04kindb\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) @@ -60,223 +60,231 @@ _globals['_REACTIONIDENTIFIER_REACTIONIDENTIFIERTYPE']._serialized_start=658 _globals['_REACTIONIDENTIFIER_REACTIONIDENTIFIERTYPE']._serialized_end=798 _globals['_REACTIONINPUT']._serialized_start=815 - _globals['_REACTIONINPUT']._serialized_end=1643 - _globals['_REACTIONINPUT_ADDITIONSPEED']._serialized_start=1211 - _globals['_REACTIONINPUT_ADDITIONSPEED']._serialized_end=1431 - _globals['_REACTIONINPUT_ADDITIONSPEED_ADDITIONSPEEDTYPE']._serialized_start=1311 - _globals['_REACTIONINPUT_ADDITIONSPEED_ADDITIONSPEEDTYPE']._serialized_end=1431 - _globals['_REACTIONINPUT_ADDITIONDEVICE']._serialized_start=1434 - _globals['_REACTIONINPUT_ADDITIONDEVICE']._serialized_end=1643 - _globals['_REACTIONINPUT_ADDITIONDEVICE_ADDITIONDEVICETYPE']._serialized_start=1537 - _globals['_REACTIONINPUT_ADDITIONDEVICE_ADDITIONDEVICETYPE']._serialized_end=1643 - _globals['_AMOUNT']._serialized_start=1646 - _globals['_AMOUNT']._serialized_end=1860 - _globals['_UNMEASUREDAMOUNT']._serialized_start=1863 - _globals['_UNMEASUREDAMOUNT']._serialized_end=2053 - _globals['_UNMEASUREDAMOUNT_UNMEASUREDAMOUNTTYPE']._serialized_start=1958 - _globals['_UNMEASUREDAMOUNT_UNMEASUREDAMOUNTTYPE']._serialized_end=2053 - _globals['_CRUDECOMPONENT']._serialized_start=2056 - _globals['_CRUDECOMPONENT']._serialized_end=2228 - _globals['_COMPOUND']._serialized_start=2231 - _globals['_COMPOUND']._serialized_end=2780 - _globals['_COMPOUND_SOURCE']._serialized_start=2583 - _globals['_COMPOUND_SOURCE']._serialized_end=2640 - _globals['_COMPOUND_FEATURESENTRY']._serialized_start=2642 - _globals['_COMPOUND_FEATURESENTRY']._serialized_end=2700 - _globals['_COMPOUND_ANALYSESENTRY']._serialized_start=2702 - _globals['_COMPOUND_ANALYSESENTRY']._serialized_end=2764 - _globals['_REACTIONROLE']._serialized_start=2783 - _globals['_REACTIONROLE']._serialized_end=2994 - _globals['_REACTIONROLE_REACTIONROLETYPE']._serialized_start=2800 - _globals['_REACTIONROLE_REACTIONROLETYPE']._serialized_end=2994 - _globals['_COMPOUNDPREPARATION']._serialized_start=2997 - _globals['_COMPOUNDPREPARATION']._serialized_end=3243 - _globals['_COMPOUNDPREPARATION_COMPOUNDPREPARATIONTYPE']._serialized_start=3122 - _globals['_COMPOUNDPREPARATION_COMPOUNDPREPARATIONTYPE']._serialized_end=3243 - _globals['_COMPOUNDIDENTIFIER']._serialized_start=3246 - _globals['_COMPOUNDIDENTIFIER']._serialized_end=3632 - _globals['_COMPOUNDIDENTIFIER_COMPOUNDIDENTIFIERTYPE']._serialized_start=3363 - _globals['_COMPOUNDIDENTIFIER_COMPOUNDIDENTIFIERTYPE']._serialized_end=3632 - _globals['_VESSEL']._serialized_start=3635 - _globals['_VESSEL']._serialized_end=4186 - _globals['_VESSEL_VESSELTYPE']._serialized_start=3922 - _globals['_VESSEL_VESSELTYPE']._serialized_end=4186 - _globals['_VESSELMATERIAL']._serialized_start=4189 - _globals['_VESSELMATERIAL']._serialized_end=4393 - _globals['_VESSELMATERIAL_VESSELMATERIALTYPE']._serialized_start=4278 - _globals['_VESSELMATERIAL_VESSELMATERIALTYPE']._serialized_end=4393 - _globals['_VESSELATTACHMENT']._serialized_start=4396 - _globals['_VESSELATTACHMENT']._serialized_end=4803 - _globals['_VESSELATTACHMENT_VESSELATTACHMENTTYPE']._serialized_start=4492 - _globals['_VESSELATTACHMENT_VESSELATTACHMENTTYPE']._serialized_end=4803 - _globals['_VESSELPREPARATION']._serialized_start=4806 - _globals['_VESSELPREPARATION']._serialized_end=5038 - _globals['_VESSELPREPARATION_VESSELPREPARATIONTYPE']._serialized_start=4905 - _globals['_VESSELPREPARATION_VESSELPREPARATIONTYPE']._serialized_end=5038 - _globals['_REACTIONSETUP']._serialized_start=5041 - _globals['_REACTIONSETUP']._serialized_end=5585 - _globals['_REACTIONSETUP_AUTOMATIONCODEENTRY']._serialized_start=5269 - _globals['_REACTIONSETUP_AUTOMATIONCODEENTRY']._serialized_end=5333 - _globals['_REACTIONSETUP_REACTIONENVIRONMENT']._serialized_start=5336 - _globals['_REACTIONSETUP_REACTIONENVIRONMENT']._serialized_end=5568 - _globals['_REACTIONSETUP_REACTIONENVIRONMENT_REACTIONENVIRONMENTTYPE']._serialized_start=5454 - _globals['_REACTIONSETUP_REACTIONENVIRONMENT_REACTIONENVIRONMENTTYPE']._serialized_end=5568 - _globals['_REACTIONCONDITIONS']._serialized_start=5588 - _globals['_REACTIONCONDITIONS']._serialized_end=6025 - _globals['_TEMPERATURECONDITIONS']._serialized_start=6028 - _globals['_TEMPERATURECONDITIONS']._serialized_end=6894 - _globals['_TEMPERATURECONDITIONS_TEMPERATURECONTROL']._serialized_start=6227 - _globals['_TEMPERATURECONDITIONS_TEMPERATURECONTROL']._serialized_end=6567 - _globals['_TEMPERATURECONDITIONS_TEMPERATURECONTROL_TEMPERATURECONTROLTYPE']._serialized_start=6351 - _globals['_TEMPERATURECONDITIONS_TEMPERATURECONTROL_TEMPERATURECONTROLTYPE']._serialized_end=6567 - _globals['_TEMPERATURECONDITIONS_TEMPERATUREMEASUREMENT']._serialized_start=6570 - _globals['_TEMPERATURECONDITIONS_TEMPERATUREMEASUREMENT']._serialized_end=6894 - _globals['_TEMPERATURECONDITIONS_TEMPERATUREMEASUREMENT_TEMPERATUREMEASUREMENTTYPE']._serialized_start=6769 - _globals['_TEMPERATURECONDITIONS_TEMPERATUREMEASUREMENT_TEMPERATUREMEASUREMENTTYPE']._serialized_end=6894 - _globals['_PRESSURECONDITIONS']._serialized_start=6897 - _globals['_PRESSURECONDITIONS']._serialized_end=7933 - _globals['_PRESSURECONDITIONS_PRESSURECONTROL']._serialized_start=7134 - _globals['_PRESSURECONDITIONS_PRESSURECONTROL']._serialized_end=7358 - _globals['_PRESSURECONDITIONS_PRESSURECONTROL_PRESSURECONTROLTYPE']._serialized_start=7245 - _globals['_PRESSURECONDITIONS_PRESSURECONTROL_PRESSURECONTROLTYPE']._serialized_end=7358 - _globals['_PRESSURECONDITIONS_ATMOSPHERE']._serialized_start=7361 - _globals['_PRESSURECONDITIONS_ATMOSPHERE']._serialized_end=7670 - _globals['_PRESSURECONDITIONS_ATMOSPHERE_ATMOSPHERETYPE']._serialized_start=7458 - _globals['_PRESSURECONDITIONS_ATMOSPHERE_ATMOSPHERETYPE']._serialized_end=7670 - _globals['_PRESSURECONDITIONS_PRESSUREMEASUREMENT']._serialized_start=7673 - _globals['_PRESSURECONDITIONS_PRESSUREMEASUREMENT']._serialized_end=7933 - _globals['_PRESSURECONDITIONS_PRESSUREMEASUREMENT_PRESSUREMEASUREMENTTYPE']._serialized_start=7854 - _globals['_PRESSURECONDITIONS_PRESSUREMEASUREMENT_PRESSUREMEASUREMENTTYPE']._serialized_end=7933 - _globals['_STIRRINGCONDITIONS']._serialized_start=7936 - _globals['_STIRRINGCONDITIONS']._serialized_end=8412 - _globals['_STIRRINGCONDITIONS_STIRRINGRATE']._serialized_start=8086 - _globals['_STIRRINGCONDITIONS_STIRRINGRATE']._serialized_end=8267 - _globals['_STIRRINGCONDITIONS_STIRRINGRATE_STIRRINGRATETYPE']._serialized_start=8201 - _globals['_STIRRINGCONDITIONS_STIRRINGRATE_STIRRINGRATETYPE']._serialized_end=8267 - _globals['_STIRRINGCONDITIONS_STIRRINGMETHODTYPE']._serialized_start=8270 - _globals['_STIRRINGCONDITIONS_STIRRINGMETHODTYPE']._serialized_end=8412 - _globals['_ILLUMINATIONCONDITIONS']._serialized_start=8415 - _globals['_ILLUMINATIONCONDITIONS']._serialized_end=8775 - _globals['_ILLUMINATIONCONDITIONS_ILLUMINATIONTYPE']._serialized_start=8617 - _globals['_ILLUMINATIONCONDITIONS_ILLUMINATIONTYPE']._serialized_end=8775 - _globals['_ELECTROCHEMISTRYCONDITIONS']._serialized_start=8778 - _globals['_ELECTROCHEMISTRYCONDITIONS']._serialized_end=9642 - _globals['_ELECTROCHEMISTRYCONDITIONS_ELECTROCHEMISTRYMEASUREMENT']._serialized_start=9199 - _globals['_ELECTROCHEMISTRYCONDITIONS_ELECTROCHEMISTRYMEASUREMENT']._serialized_end=9315 - _globals['_ELECTROCHEMISTRYCONDITIONS_ELECTROCHEMISTRYCELL']._serialized_start=9318 - _globals['_ELECTROCHEMISTRYCONDITIONS_ELECTROCHEMISTRYCELL']._serialized_end=9545 - _globals['_ELECTROCHEMISTRYCONDITIONS_ELECTROCHEMISTRYCELL_ELECTROCHEMISTRYCELLTYPE']._serialized_start=9452 - _globals['_ELECTROCHEMISTRYCONDITIONS_ELECTROCHEMISTRYCELL_ELECTROCHEMISTRYCELLTYPE']._serialized_end=9545 - _globals['_ELECTROCHEMISTRYCONDITIONS_ELECTROCHEMISTRYTYPE']._serialized_start=9547 - _globals['_ELECTROCHEMISTRYCONDITIONS_ELECTROCHEMISTRYTYPE']._serialized_end=9642 - _globals['_FLOWCONDITIONS']._serialized_start=9645 - _globals['_FLOWCONDITIONS']._serialized_end=10177 - _globals['_FLOWCONDITIONS_TUBING']._serialized_start=9788 - _globals['_FLOWCONDITIONS_TUBING']._serialized_end=10052 - _globals['_FLOWCONDITIONS_TUBING_TUBINGTYPE']._serialized_start=9900 - _globals['_FLOWCONDITIONS_TUBING_TUBINGTYPE']._serialized_end=10052 - _globals['_FLOWCONDITIONS_FLOWTYPE']._serialized_start=10054 - _globals['_FLOWCONDITIONS_FLOWTYPE']._serialized_end=10177 - _globals['_REACTIONNOTES']._serialized_start=10180 - _globals['_REACTIONNOTES']._serialized_end=10628 - _globals['_REACTIONOBSERVATION']._serialized_start=10630 - _globals['_REACTIONOBSERVATION']._serialized_end=10719 - _globals['_REACTIONWORKUP']._serialized_start=10722 - _globals['_REACTIONWORKUP']._serialized_end=11437 - _globals['_REACTIONWORKUP_REACTIONWORKUPTYPE']._serialized_start=11068 - _globals['_REACTIONWORKUP_REACTIONWORKUPTYPE']._serialized_end=11406 - _globals['_REACTIONOUTCOME']._serialized_start=11440 - _globals['_REACTIONOUTCOME']._serialized_end=11686 - _globals['_REACTIONOUTCOME_ANALYSESENTRY']._serialized_start=2702 - _globals['_REACTIONOUTCOME_ANALYSESENTRY']._serialized_end=2764 - _globals['_PRODUCTCOMPOUND']._serialized_start=11689 - _globals['_PRODUCTCOMPOUND']._serialized_end=12342 - _globals['_PRODUCTCOMPOUND_TEXTURE']._serialized_start=12019 - _globals['_PRODUCTCOMPOUND_TEXTURE']._serialized_end=12259 - _globals['_PRODUCTCOMPOUND_TEXTURE_TEXTURETYPE']._serialized_start=12104 - _globals['_PRODUCTCOMPOUND_TEXTURE_TEXTURETYPE']._serialized_end=12259 - _globals['_PRODUCTCOMPOUND_FEATURESENTRY']._serialized_start=2642 - _globals['_PRODUCTCOMPOUND_FEATURESENTRY']._serialized_end=2700 - _globals['_PRODUCTMEASUREMENT']._serialized_start=12345 - _globals['_PRODUCTMEASUREMENT']._serialized_end=13748 - _globals['_PRODUCTMEASUREMENT_MASSSPECMEASUREMENTDETAILS']._serialized_start=12958 - _globals['_PRODUCTMEASUREMENT_MASSSPECMEASUREMENTDETAILS']._serialized_end=13319 - _globals['_PRODUCTMEASUREMENT_MASSSPECMEASUREMENTDETAILS_MASSSPECMEASUREMENTTYPE']._serialized_start=13173 - _globals['_PRODUCTMEASUREMENT_MASSSPECMEASUREMENTDETAILS_MASSSPECMEASUREMENTTYPE']._serialized_end=13281 - _globals['_PRODUCTMEASUREMENT_SELECTIVITY']._serialized_start=13322 - _globals['_PRODUCTMEASUREMENT_SELECTIVITY']._serialized_end=13507 - _globals['_PRODUCTMEASUREMENT_SELECTIVITY_SELECTIVITYTYPE']._serialized_start=13421 - _globals['_PRODUCTMEASUREMENT_SELECTIVITY_SELECTIVITYTYPE']._serialized_end=13507 - _globals['_PRODUCTMEASUREMENT_PRODUCTMEASUREMENTTYPE']._serialized_start=13510 - _globals['_PRODUCTMEASUREMENT_PRODUCTMEASUREMENTTYPE']._serialized_end=13666 - _globals['_DATETIME']._serialized_start=13750 - _globals['_DATETIME']._serialized_end=13775 - _globals['_ANALYSIS']._serialized_start=13778 - _globals['_ANALYSIS']._serialized_end=14366 - _globals['_ANALYSIS_DATAENTRY']._serialized_start=14026 - _globals['_ANALYSIS_DATAENTRY']._serialized_end=14080 - _globals['_ANALYSIS_ANALYSISTYPE']._serialized_start=14083 - _globals['_ANALYSIS_ANALYSISTYPE']._serialized_end=14339 - _globals['_REACTIONPROVENANCE']._serialized_start=14369 - _globals['_REACTIONPROVENANCE']._serialized_end=14796 - _globals['_REACTIONPROVENANCE_REACTIONMETADATAENTRY']._serialized_start=14717 - _globals['_REACTIONPROVENANCE_REACTIONMETADATAENTRY']._serialized_end=14783 - _globals['_PERSON']._serialized_start=14798 - _globals['_PERSON']._serialized_end=14890 - _globals['_RECORDEVENT']._serialized_start=14892 - _globals['_RECORDEVENT']._serialized_end=14980 - _globals['_TIME']._serialized_start=14983 - _globals['_TIME']._serialized_end=15164 - _globals['_TIME_TIMEUNIT']._serialized_start=15070 - _globals['_TIME_TIMEUNIT']._serialized_end=15140 - _globals['_MASS']._serialized_start=15167 - _globals['_MASS']._serialized_end=15359 - _globals['_MASS_MASSUNIT']._serialized_start=15254 - _globals['_MASS_MASSUNIT']._serialized_end=15335 - _globals['_MOLES']._serialized_start=15362 - _globals['_MOLES']._serialized_end=15558 - _globals['_MOLES_MOLESUNIT']._serialized_start=15452 - _globals['_MOLES_MOLESUNIT']._serialized_end=15534 - _globals['_VOLUME']._serialized_start=15561 - _globals['_VOLUME']._serialized_end=15765 - _globals['_VOLUME_VOLUMEUNIT']._serialized_start=15654 - _globals['_VOLUME_VOLUMEUNIT']._serialized_end=15741 - _globals['_CONCENTRATION']._serialized_start=15768 - _globals['_CONCENTRATION']._serialized_end=15985 - _globals['_CONCENTRATION_CONCENTRATIONUNIT']._serialized_start=15882 - _globals['_CONCENTRATION_CONCENTRATIONUNIT']._serialized_end=15961 - _globals['_PRESSURE']._serialized_start=15988 - _globals['_PRESSURE']._serialized_end=16235 - _globals['_PRESSURE_PRESSUREUNIT']._serialized_start=16087 - _globals['_PRESSURE_PRESSUREUNIT']._serialized_end=16211 - _globals['_TEMPERATURE']._serialized_start=16238 - _globals['_TEMPERATURE']._serialized_end=16445 - _globals['_TEMPERATURE_TEMPERATUREUNIT']._serialized_start=16346 - _globals['_TEMPERATURE_TEMPERATUREUNIT']._serialized_end=16421 - _globals['_CURRENT']._serialized_start=16448 - _globals['_CURRENT']._serialized_end=16627 - _globals['_CURRENT_CURRENTUNIT']._serialized_start=16544 - _globals['_CURRENT_CURRENTUNIT']._serialized_end=16603 - _globals['_VOLTAGE']._serialized_start=16630 - _globals['_VOLTAGE']._serialized_end=16805 - _globals['_VOLTAGE_VOLTAGEUNIT']._serialized_start=16726 - _globals['_VOLTAGE_VOLTAGEUNIT']._serialized_end=16781 - _globals['_LENGTH']._serialized_start=16808 - _globals['_LENGTH']._serialized_end=17017 - _globals['_LENGTH_LENGTHUNIT']._serialized_start=16901 - _globals['_LENGTH_LENGTHUNIT']._serialized_end=16993 - _globals['_WAVELENGTH']._serialized_start=17020 - _globals['_WAVELENGTH']._serialized_end=17213 - _globals['_WAVELENGTH_WAVELENGTHUNIT']._serialized_start=17125 - _globals['_WAVELENGTH_WAVELENGTHUNIT']._serialized_end=17189 - _globals['_FLOWRATE']._serialized_start=17216 - _globals['_FLOWRATE']._serialized_end=17504 - _globals['_FLOWRATE_FLOWRATEUNIT']._serialized_start=17316 - _globals['_FLOWRATE_FLOWRATEUNIT']._serialized_end=17480 - _globals['_PERCENTAGE']._serialized_start=17506 - _globals['_PERCENTAGE']._serialized_end=17586 - _globals['_FLOATVALUE']._serialized_start=17588 - _globals['_FLOATVALUE']._serialized_end=17668 - _globals['_DATA']._serialized_start=17671 - _globals['_DATA']._serialized_end=17832 + _globals['_REACTIONINPUT']._serialized_end=1742 + _globals['_REACTIONINPUT_ADDITIONSPEED']._serialized_start=1310 + _globals['_REACTIONINPUT_ADDITIONSPEED']._serialized_end=1530 + _globals['_REACTIONINPUT_ADDITIONSPEED_ADDITIONSPEEDTYPE']._serialized_start=1410 + _globals['_REACTIONINPUT_ADDITIONSPEED_ADDITIONSPEEDTYPE']._serialized_end=1530 + _globals['_REACTIONINPUT_ADDITIONDEVICE']._serialized_start=1533 + _globals['_REACTIONINPUT_ADDITIONDEVICE']._serialized_end=1742 + _globals['_REACTIONINPUT_ADDITIONDEVICE_ADDITIONDEVICETYPE']._serialized_start=1636 + _globals['_REACTIONINPUT_ADDITIONDEVICE_ADDITIONDEVICETYPE']._serialized_end=1742 + _globals['_AMOUNT']._serialized_start=1745 + _globals['_AMOUNT']._serialized_end=1959 + _globals['_UNMEASUREDAMOUNT']._serialized_start=1962 + _globals['_UNMEASUREDAMOUNT']._serialized_end=2152 + _globals['_UNMEASUREDAMOUNT_UNMEASUREDAMOUNTTYPE']._serialized_start=2057 + _globals['_UNMEASUREDAMOUNT_UNMEASUREDAMOUNTTYPE']._serialized_end=2152 + _globals['_CRUDECOMPONENT']._serialized_start=2155 + _globals['_CRUDECOMPONENT']._serialized_end=2426 + _globals['_COMPOUND']._serialized_start=2429 + _globals['_COMPOUND']._serialized_end=3077 + _globals['_COMPOUND_SOURCE']._serialized_start=2880 + _globals['_COMPOUND_SOURCE']._serialized_end=2937 + _globals['_COMPOUND_FEATURESENTRY']._serialized_start=2939 + _globals['_COMPOUND_FEATURESENTRY']._serialized_end=2997 + _globals['_COMPOUND_ANALYSESENTRY']._serialized_start=2999 + _globals['_COMPOUND_ANALYSESENTRY']._serialized_end=3061 + _globals['_STATEOFMATTER']._serialized_start=3079 + _globals['_STATEOFMATTER']._serialized_end=3176 + _globals['_STATEOFMATTER_STATEOFMATTERTYPE']._serialized_start=3096 + _globals['_STATEOFMATTER_STATEOFMATTERTYPE']._serialized_end=3176 + _globals['_MIXTUREDESCRIPTION']._serialized_start=3179 + _globals['_MIXTUREDESCRIPTION']._serialized_end=3380 + _globals['_MIXTUREDESCRIPTION_MIXTURETYPE']._serialized_start=3269 + _globals['_MIXTUREDESCRIPTION_MIXTURETYPE']._serialized_end=3380 + _globals['_REACTIONROLE']._serialized_start=3383 + _globals['_REACTIONROLE']._serialized_end=3594 + _globals['_REACTIONROLE_REACTIONROLETYPE']._serialized_start=3400 + _globals['_REACTIONROLE_REACTIONROLETYPE']._serialized_end=3594 + _globals['_COMPOUNDPREPARATION']._serialized_start=3597 + _globals['_COMPOUNDPREPARATION']._serialized_end=3843 + _globals['_COMPOUNDPREPARATION_COMPOUNDPREPARATIONTYPE']._serialized_start=3722 + _globals['_COMPOUNDPREPARATION_COMPOUNDPREPARATIONTYPE']._serialized_end=3843 + _globals['_COMPOUNDIDENTIFIER']._serialized_start=3846 + _globals['_COMPOUNDIDENTIFIER']._serialized_end=4232 + _globals['_COMPOUNDIDENTIFIER_COMPOUNDIDENTIFIERTYPE']._serialized_start=3963 + _globals['_COMPOUNDIDENTIFIER_COMPOUNDIDENTIFIERTYPE']._serialized_end=4232 + _globals['_VESSEL']._serialized_start=4235 + _globals['_VESSEL']._serialized_end=4786 + _globals['_VESSEL_VESSELTYPE']._serialized_start=4522 + _globals['_VESSEL_VESSELTYPE']._serialized_end=4786 + _globals['_VESSELMATERIAL']._serialized_start=4789 + _globals['_VESSELMATERIAL']._serialized_end=4993 + _globals['_VESSELMATERIAL_VESSELMATERIALTYPE']._serialized_start=4878 + _globals['_VESSELMATERIAL_VESSELMATERIALTYPE']._serialized_end=4993 + _globals['_VESSELATTACHMENT']._serialized_start=4996 + _globals['_VESSELATTACHMENT']._serialized_end=5403 + _globals['_VESSELATTACHMENT_VESSELATTACHMENTTYPE']._serialized_start=5092 + _globals['_VESSELATTACHMENT_VESSELATTACHMENTTYPE']._serialized_end=5403 + _globals['_VESSELPREPARATION']._serialized_start=5406 + _globals['_VESSELPREPARATION']._serialized_end=5638 + _globals['_VESSELPREPARATION_VESSELPREPARATIONTYPE']._serialized_start=5505 + _globals['_VESSELPREPARATION_VESSELPREPARATIONTYPE']._serialized_end=5638 + _globals['_REACTIONSETUP']._serialized_start=5641 + _globals['_REACTIONSETUP']._serialized_end=6185 + _globals['_REACTIONSETUP_AUTOMATIONCODEENTRY']._serialized_start=5869 + _globals['_REACTIONSETUP_AUTOMATIONCODEENTRY']._serialized_end=5933 + _globals['_REACTIONSETUP_REACTIONENVIRONMENT']._serialized_start=5936 + _globals['_REACTIONSETUP_REACTIONENVIRONMENT']._serialized_end=6168 + _globals['_REACTIONSETUP_REACTIONENVIRONMENT_REACTIONENVIRONMENTTYPE']._serialized_start=6054 + _globals['_REACTIONSETUP_REACTIONENVIRONMENT_REACTIONENVIRONMENTTYPE']._serialized_end=6168 + _globals['_REACTIONCONDITIONS']._serialized_start=6188 + _globals['_REACTIONCONDITIONS']._serialized_end=6625 + _globals['_TEMPERATURECONDITIONS']._serialized_start=6628 + _globals['_TEMPERATURECONDITIONS']._serialized_end=7494 + _globals['_TEMPERATURECONDITIONS_TEMPERATURECONTROL']._serialized_start=6827 + _globals['_TEMPERATURECONDITIONS_TEMPERATURECONTROL']._serialized_end=7167 + _globals['_TEMPERATURECONDITIONS_TEMPERATURECONTROL_TEMPERATURECONTROLTYPE']._serialized_start=6951 + _globals['_TEMPERATURECONDITIONS_TEMPERATURECONTROL_TEMPERATURECONTROLTYPE']._serialized_end=7167 + _globals['_TEMPERATURECONDITIONS_TEMPERATUREMEASUREMENT']._serialized_start=7170 + _globals['_TEMPERATURECONDITIONS_TEMPERATUREMEASUREMENT']._serialized_end=7494 + _globals['_TEMPERATURECONDITIONS_TEMPERATUREMEASUREMENT_TEMPERATUREMEASUREMENTTYPE']._serialized_start=7369 + _globals['_TEMPERATURECONDITIONS_TEMPERATUREMEASUREMENT_TEMPERATUREMEASUREMENTTYPE']._serialized_end=7494 + _globals['_PRESSURECONDITIONS']._serialized_start=7497 + _globals['_PRESSURECONDITIONS']._serialized_end=8533 + _globals['_PRESSURECONDITIONS_PRESSURECONTROL']._serialized_start=7734 + _globals['_PRESSURECONDITIONS_PRESSURECONTROL']._serialized_end=7958 + _globals['_PRESSURECONDITIONS_PRESSURECONTROL_PRESSURECONTROLTYPE']._serialized_start=7845 + _globals['_PRESSURECONDITIONS_PRESSURECONTROL_PRESSURECONTROLTYPE']._serialized_end=7958 + _globals['_PRESSURECONDITIONS_ATMOSPHERE']._serialized_start=7961 + _globals['_PRESSURECONDITIONS_ATMOSPHERE']._serialized_end=8270 + _globals['_PRESSURECONDITIONS_ATMOSPHERE_ATMOSPHERETYPE']._serialized_start=8058 + _globals['_PRESSURECONDITIONS_ATMOSPHERE_ATMOSPHERETYPE']._serialized_end=8270 + _globals['_PRESSURECONDITIONS_PRESSUREMEASUREMENT']._serialized_start=8273 + _globals['_PRESSURECONDITIONS_PRESSUREMEASUREMENT']._serialized_end=8533 + _globals['_PRESSURECONDITIONS_PRESSUREMEASUREMENT_PRESSUREMEASUREMENTTYPE']._serialized_start=8454 + _globals['_PRESSURECONDITIONS_PRESSUREMEASUREMENT_PRESSUREMEASUREMENTTYPE']._serialized_end=8533 + _globals['_STIRRINGCONDITIONS']._serialized_start=8536 + _globals['_STIRRINGCONDITIONS']._serialized_end=9012 + _globals['_STIRRINGCONDITIONS_STIRRINGRATE']._serialized_start=8686 + _globals['_STIRRINGCONDITIONS_STIRRINGRATE']._serialized_end=8867 + _globals['_STIRRINGCONDITIONS_STIRRINGRATE_STIRRINGRATETYPE']._serialized_start=8801 + _globals['_STIRRINGCONDITIONS_STIRRINGRATE_STIRRINGRATETYPE']._serialized_end=8867 + _globals['_STIRRINGCONDITIONS_STIRRINGMETHODTYPE']._serialized_start=8870 + _globals['_STIRRINGCONDITIONS_STIRRINGMETHODTYPE']._serialized_end=9012 + _globals['_ILLUMINATIONCONDITIONS']._serialized_start=9015 + _globals['_ILLUMINATIONCONDITIONS']._serialized_end=9375 + _globals['_ILLUMINATIONCONDITIONS_ILLUMINATIONTYPE']._serialized_start=9217 + _globals['_ILLUMINATIONCONDITIONS_ILLUMINATIONTYPE']._serialized_end=9375 + _globals['_ELECTROCHEMISTRYCONDITIONS']._serialized_start=9378 + _globals['_ELECTROCHEMISTRYCONDITIONS']._serialized_end=10242 + _globals['_ELECTROCHEMISTRYCONDITIONS_ELECTROCHEMISTRYMEASUREMENT']._serialized_start=9799 + _globals['_ELECTROCHEMISTRYCONDITIONS_ELECTROCHEMISTRYMEASUREMENT']._serialized_end=9915 + _globals['_ELECTROCHEMISTRYCONDITIONS_ELECTROCHEMISTRYCELL']._serialized_start=9918 + _globals['_ELECTROCHEMISTRYCONDITIONS_ELECTROCHEMISTRYCELL']._serialized_end=10145 + _globals['_ELECTROCHEMISTRYCONDITIONS_ELECTROCHEMISTRYCELL_ELECTROCHEMISTRYCELLTYPE']._serialized_start=10052 + _globals['_ELECTROCHEMISTRYCONDITIONS_ELECTROCHEMISTRYCELL_ELECTROCHEMISTRYCELLTYPE']._serialized_end=10145 + _globals['_ELECTROCHEMISTRYCONDITIONS_ELECTROCHEMISTRYTYPE']._serialized_start=10147 + _globals['_ELECTROCHEMISTRYCONDITIONS_ELECTROCHEMISTRYTYPE']._serialized_end=10242 + _globals['_FLOWCONDITIONS']._serialized_start=10245 + _globals['_FLOWCONDITIONS']._serialized_end=10777 + _globals['_FLOWCONDITIONS_TUBING']._serialized_start=10388 + _globals['_FLOWCONDITIONS_TUBING']._serialized_end=10652 + _globals['_FLOWCONDITIONS_TUBING_TUBINGTYPE']._serialized_start=10500 + _globals['_FLOWCONDITIONS_TUBING_TUBINGTYPE']._serialized_end=10652 + _globals['_FLOWCONDITIONS_FLOWTYPE']._serialized_start=10654 + _globals['_FLOWCONDITIONS_FLOWTYPE']._serialized_end=10777 + _globals['_REACTIONNOTES']._serialized_start=10780 + _globals['_REACTIONNOTES']._serialized_end=11228 + _globals['_REACTIONOBSERVATION']._serialized_start=11230 + _globals['_REACTIONOBSERVATION']._serialized_end=11319 + _globals['_REACTIONWORKUP']._serialized_start=11322 + _globals['_REACTIONWORKUP']._serialized_end=12037 + _globals['_REACTIONWORKUP_REACTIONWORKUPTYPE']._serialized_start=11668 + _globals['_REACTIONWORKUP_REACTIONWORKUPTYPE']._serialized_end=12006 + _globals['_REACTIONOUTCOME']._serialized_start=12040 + _globals['_REACTIONOUTCOME']._serialized_end=12286 + _globals['_REACTIONOUTCOME_ANALYSESENTRY']._serialized_start=2999 + _globals['_REACTIONOUTCOME_ANALYSESENTRY']._serialized_end=3061 + _globals['_PRODUCTCOMPOUND']._serialized_start=12289 + _globals['_PRODUCTCOMPOUND']._serialized_end=12942 + _globals['_PRODUCTCOMPOUND_TEXTURE']._serialized_start=12619 + _globals['_PRODUCTCOMPOUND_TEXTURE']._serialized_end=12859 + _globals['_PRODUCTCOMPOUND_TEXTURE_TEXTURETYPE']._serialized_start=12704 + _globals['_PRODUCTCOMPOUND_TEXTURE_TEXTURETYPE']._serialized_end=12859 + _globals['_PRODUCTCOMPOUND_FEATURESENTRY']._serialized_start=2939 + _globals['_PRODUCTCOMPOUND_FEATURESENTRY']._serialized_end=2997 + _globals['_PRODUCTMEASUREMENT']._serialized_start=12945 + _globals['_PRODUCTMEASUREMENT']._serialized_end=14348 + _globals['_PRODUCTMEASUREMENT_MASSSPECMEASUREMENTDETAILS']._serialized_start=13558 + _globals['_PRODUCTMEASUREMENT_MASSSPECMEASUREMENTDETAILS']._serialized_end=13919 + _globals['_PRODUCTMEASUREMENT_MASSSPECMEASUREMENTDETAILS_MASSSPECMEASUREMENTTYPE']._serialized_start=13773 + _globals['_PRODUCTMEASUREMENT_MASSSPECMEASUREMENTDETAILS_MASSSPECMEASUREMENTTYPE']._serialized_end=13881 + _globals['_PRODUCTMEASUREMENT_SELECTIVITY']._serialized_start=13922 + _globals['_PRODUCTMEASUREMENT_SELECTIVITY']._serialized_end=14107 + _globals['_PRODUCTMEASUREMENT_SELECTIVITY_SELECTIVITYTYPE']._serialized_start=14021 + _globals['_PRODUCTMEASUREMENT_SELECTIVITY_SELECTIVITYTYPE']._serialized_end=14107 + _globals['_PRODUCTMEASUREMENT_PRODUCTMEASUREMENTTYPE']._serialized_start=14110 + _globals['_PRODUCTMEASUREMENT_PRODUCTMEASUREMENTTYPE']._serialized_end=14266 + _globals['_DATETIME']._serialized_start=14350 + _globals['_DATETIME']._serialized_end=14375 + _globals['_ANALYSIS']._serialized_start=14378 + _globals['_ANALYSIS']._serialized_end=14966 + _globals['_ANALYSIS_DATAENTRY']._serialized_start=14626 + _globals['_ANALYSIS_DATAENTRY']._serialized_end=14680 + _globals['_ANALYSIS_ANALYSISTYPE']._serialized_start=14683 + _globals['_ANALYSIS_ANALYSISTYPE']._serialized_end=14939 + _globals['_REACTIONPROVENANCE']._serialized_start=14969 + _globals['_REACTIONPROVENANCE']._serialized_end=15396 + _globals['_REACTIONPROVENANCE_REACTIONMETADATAENTRY']._serialized_start=15317 + _globals['_REACTIONPROVENANCE_REACTIONMETADATAENTRY']._serialized_end=15383 + _globals['_PERSON']._serialized_start=15398 + _globals['_PERSON']._serialized_end=15490 + _globals['_RECORDEVENT']._serialized_start=15492 + _globals['_RECORDEVENT']._serialized_end=15580 + _globals['_TIME']._serialized_start=15583 + _globals['_TIME']._serialized_end=15764 + _globals['_TIME_TIMEUNIT']._serialized_start=15670 + _globals['_TIME_TIMEUNIT']._serialized_end=15740 + _globals['_MASS']._serialized_start=15767 + _globals['_MASS']._serialized_end=15959 + _globals['_MASS_MASSUNIT']._serialized_start=15854 + _globals['_MASS_MASSUNIT']._serialized_end=15935 + _globals['_MOLES']._serialized_start=15962 + _globals['_MOLES']._serialized_end=16158 + _globals['_MOLES_MOLESUNIT']._serialized_start=16052 + _globals['_MOLES_MOLESUNIT']._serialized_end=16134 + _globals['_VOLUME']._serialized_start=16161 + _globals['_VOLUME']._serialized_end=16365 + _globals['_VOLUME_VOLUMEUNIT']._serialized_start=16254 + _globals['_VOLUME_VOLUMEUNIT']._serialized_end=16341 + _globals['_CONCENTRATION']._serialized_start=16368 + _globals['_CONCENTRATION']._serialized_end=16585 + _globals['_CONCENTRATION_CONCENTRATIONUNIT']._serialized_start=16482 + _globals['_CONCENTRATION_CONCENTRATIONUNIT']._serialized_end=16561 + _globals['_PRESSURE']._serialized_start=16588 + _globals['_PRESSURE']._serialized_end=16835 + _globals['_PRESSURE_PRESSUREUNIT']._serialized_start=16687 + _globals['_PRESSURE_PRESSUREUNIT']._serialized_end=16811 + _globals['_TEMPERATURE']._serialized_start=16838 + _globals['_TEMPERATURE']._serialized_end=17045 + _globals['_TEMPERATURE_TEMPERATUREUNIT']._serialized_start=16946 + _globals['_TEMPERATURE_TEMPERATUREUNIT']._serialized_end=17021 + _globals['_CURRENT']._serialized_start=17048 + _globals['_CURRENT']._serialized_end=17227 + _globals['_CURRENT_CURRENTUNIT']._serialized_start=17144 + _globals['_CURRENT_CURRENTUNIT']._serialized_end=17203 + _globals['_VOLTAGE']._serialized_start=17230 + _globals['_VOLTAGE']._serialized_end=17405 + _globals['_VOLTAGE_VOLTAGEUNIT']._serialized_start=17326 + _globals['_VOLTAGE_VOLTAGEUNIT']._serialized_end=17381 + _globals['_LENGTH']._serialized_start=17408 + _globals['_LENGTH']._serialized_end=17617 + _globals['_LENGTH_LENGTHUNIT']._serialized_start=17501 + _globals['_LENGTH_LENGTHUNIT']._serialized_end=17593 + _globals['_WAVELENGTH']._serialized_start=17620 + _globals['_WAVELENGTH']._serialized_end=17813 + _globals['_WAVELENGTH_WAVELENGTHUNIT']._serialized_start=17725 + _globals['_WAVELENGTH_WAVELENGTHUNIT']._serialized_end=17789 + _globals['_FLOWRATE']._serialized_start=17816 + _globals['_FLOWRATE']._serialized_end=18104 + _globals['_FLOWRATE_FLOWRATEUNIT']._serialized_start=17916 + _globals['_FLOWRATE_FLOWRATEUNIT']._serialized_end=18080 + _globals['_PERCENTAGE']._serialized_start=18106 + _globals['_PERCENTAGE']._serialized_end=18186 + _globals['_FLOATVALUE']._serialized_start=18188 + _globals['_FLOATVALUE']._serialized_end=18268 + _globals['_DATA']._serialized_start=18271 + _globals['_DATA']._serialized_end=18432 # @@protoc_insertion_point(module_scope) diff --git a/proto/reaction.proto b/proto/reaction.proto index 7d38d409..89e861b9 100644 --- a/proto/reaction.proto +++ b/proto/reaction.proto @@ -162,6 +162,10 @@ message ReactionInput { // Specify the temperature of the material being added. // E.g., a cooled flask of a stock solution to be added at low temperature. Temperature addition_temperature = 9; + // The matter state immediately before addition. + StateOfMatter state_of_matter = 10; + // Specify the mixture state immediately before addition. + MixtureDescription mixture_description = 11; } /** @@ -231,6 +235,10 @@ message CrudeComponent { optional bool has_derived_amount = 3; // If the entire crude mixture was not used, need to specify an amount. Amount amount = 4; + // The matter state. + StateOfMatter state_of_matter = 5; + // Specify the mixture state. + MixtureDescription mixture_description = 6; } /** @@ -265,6 +273,58 @@ message Compound { // Compounds may be assayed for quality control; analytical data should be // defined in the analyses map. map analyses = 8; + // The matter state. + StateOfMatter state_of_matter = 9; + // Specify the mixture state. + MixtureDescription mixture_description = 10; +} + +message StateOfMatter { + enum StateOfMatterType { + UNSPECIFIED = 0; + SOLID = 1; + LIQUID = 2; + GAS = 3; + PLASMA = 4; + } +} + +message MixtureDescription { + enum MixtureType { + UNSPECIFIED = 0; + // A solution is a homogeneous mixture composed of one + // phase where particles are not visible to the naked eye and the solution + // does not scatter a light beam. Note it does not imply that the state of + // matter is liquid. + // This type corresponds to the following class of Allotrope foundation + // ontologies + // [solution](http://purl.allotrope.org/ontologies/material#AFM_0000012) + SOLUTION = 1; + // A colloid is a homogeneous mixture in which one substance of + // microscopically dispersed insoluble particles is suspended throughout + // another substance. This includes, but not limited to: emulsion, foam, + // sol, and gel. This type corresponds to the following class of Allotrope + // foundation ontologies + // [colloid](http://purl.allotrope.org/ontologies/material#AFM_0001044) + Colloid = 2; + // A dispersions is a heterogeneous mixture that is comprising more than one + // phase where at least one of the phases consists of finely divided phase + // domains, often in the colloidal size range, dispersed throughout a + // continuous phase. This type corresponds to the following class of + // Allotrope foundation ontologies + // [dispersion](http://purl.allotrope.org/ontologies/material#AFM_0001079) + Dispersion = 3; + // A suspension is a heterogeneous mixture in which the solute particles do + // not dissolve but get suspended throughout the bulk of the medium. This + // type corresponds to the following class of Allotrope foundation + // ontologies + // [suspension](http://purl.allotrope.org/ontologies/material#AFM_0000442) + Suspension = 4; + PURE = 5; + CUSTOM = 6; + } + MixtureType type = 2; + string details = 3; } message ReactionRole { From 04e30b8646f80958e9cdd11b60e860875c4a40da Mon Sep 17 00:00:00 2001 From: qai Date: Mon, 4 Sep 2023 22:06:48 -0400 Subject: [PATCH 2/8] simply use `Texture` --- js/ord-schema/proto/reaction_pb.js | 583 +++-------------------------- ord_schema/proto/reaction_pb2.py | 448 +++++++++++----------- proto/reaction.proto | 65 +--- 3 files changed, 275 insertions(+), 821 deletions(-) diff --git a/js/ord-schema/proto/reaction_pb.js b/js/ord-schema/proto/reaction_pb.js index 0e9c40d2..61e0c940 100644 --- a/js/ord-schema/proto/reaction_pb.js +++ b/js/ord-schema/proto/reaction_pb.js @@ -73,8 +73,6 @@ goog.exportSymbol('proto.ord.Length', null, global); goog.exportSymbol('proto.ord.Length.LengthUnit', null, global); goog.exportSymbol('proto.ord.Mass', null, global); goog.exportSymbol('proto.ord.Mass.MassUnit', null, global); -goog.exportSymbol('proto.ord.MixtureDescription', null, global); -goog.exportSymbol('proto.ord.MixtureDescription.MixtureType', null, global); goog.exportSymbol('proto.ord.Moles', null, global); goog.exportSymbol('proto.ord.Moles.MolesUnit', null, global); goog.exportSymbol('proto.ord.Percentage', null, global); @@ -119,8 +117,6 @@ goog.exportSymbol('proto.ord.ReactionSetup.ReactionEnvironment.ReactionEnvironme goog.exportSymbol('proto.ord.ReactionWorkup', null, global); goog.exportSymbol('proto.ord.ReactionWorkup.ReactionWorkupType', null, global); goog.exportSymbol('proto.ord.RecordEvent', null, global); -goog.exportSymbol('proto.ord.StateOfMatter', null, global); -goog.exportSymbol('proto.ord.StateOfMatter.StateOfMatterType', null, global); goog.exportSymbol('proto.ord.StirringConditions', null, global); goog.exportSymbol('proto.ord.StirringConditions.StirringMethodType', null, global); goog.exportSymbol('proto.ord.StirringConditions.StirringRate', null, global); @@ -360,48 +356,6 @@ if (goog.DEBUG && !COMPILED) { */ proto.ord.Compound.Source.displayName = 'proto.ord.Compound.Source'; } -/** - * Generated by JsPbCodeGenerator. - * @param {Array=} opt_data Optional initial data array, typically from a - * server response, or constructed directly in Javascript. The array is used - * in place and becomes part of the constructed object. It is not cloned. - * If no data is provided, the constructed object will be empty, but still - * valid. - * @extends {jspb.Message} - * @constructor - */ -proto.ord.StateOfMatter = function(opt_data) { - jspb.Message.initialize(this, opt_data, 0, -1, null, null); -}; -goog.inherits(proto.ord.StateOfMatter, jspb.Message); -if (goog.DEBUG && !COMPILED) { - /** - * @public - * @override - */ - proto.ord.StateOfMatter.displayName = 'proto.ord.StateOfMatter'; -} -/** - * Generated by JsPbCodeGenerator. - * @param {Array=} opt_data Optional initial data array, typically from a - * server response, or constructed directly in Javascript. The array is used - * in place and becomes part of the constructed object. It is not cloned. - * If no data is provided, the constructed object will be empty, but still - * valid. - * @extends {jspb.Message} - * @constructor - */ -proto.ord.MixtureDescription = function(opt_data) { - jspb.Message.initialize(this, opt_data, 0, -1, null, null); -}; -goog.inherits(proto.ord.MixtureDescription, jspb.Message); -if (goog.DEBUG && !COMPILED) { - /** - * @public - * @override - */ - proto.ord.MixtureDescription.displayName = 'proto.ord.MixtureDescription'; -} /** * Generated by JsPbCodeGenerator. * @param {Array=} opt_data Optional initial data array, typically from a @@ -2424,8 +2378,7 @@ proto.ord.ReactionInput.toObject = function(includeInstance, msg) { flowRate: (f = msg.getFlowRate()) && proto.ord.FlowRate.toObject(includeInstance, f), additionDevice: (f = msg.getAdditionDevice()) && proto.ord.ReactionInput.AdditionDevice.toObject(includeInstance, f), additionTemperature: (f = msg.getAdditionTemperature()) && proto.ord.Temperature.toObject(includeInstance, f), - stateOfMatter: (f = msg.getStateOfMatter()) && proto.ord.StateOfMatter.toObject(includeInstance, f), - mixtureDescription: (f = msg.getMixtureDescription()) && proto.ord.MixtureDescription.toObject(includeInstance, f) + texture: (f = msg.getTexture()) && proto.ord.ProductCompound.Texture.toObject(includeInstance, f) }; if (includeInstance) { @@ -2507,14 +2460,9 @@ proto.ord.ReactionInput.deserializeBinaryFromReader = function(msg, reader) { msg.setAdditionTemperature(value); break; case 10: - var value = new proto.ord.StateOfMatter; - reader.readMessage(value,proto.ord.StateOfMatter.deserializeBinaryFromReader); - msg.setStateOfMatter(value); - break; - case 11: - var value = new proto.ord.MixtureDescription; - reader.readMessage(value,proto.ord.MixtureDescription.deserializeBinaryFromReader); - msg.setMixtureDescription(value); + var value = new proto.ord.ProductCompound.Texture; + reader.readMessage(value,proto.ord.ProductCompound.Texture.deserializeBinaryFromReader); + msg.setTexture(value); break; default: reader.skipField(); @@ -2616,20 +2564,12 @@ proto.ord.ReactionInput.serializeBinaryToWriter = function(message, writer) { proto.ord.Temperature.serializeBinaryToWriter ); } - f = message.getStateOfMatter(); + f = message.getTexture(); if (f != null) { writer.writeMessage( 10, f, - proto.ord.StateOfMatter.serializeBinaryToWriter - ); - } - f = message.getMixtureDescription(); - if (f != null) { - writer.writeMessage( - 11, - f, - proto.ord.MixtureDescription.serializeBinaryToWriter + proto.ord.ProductCompound.Texture.serializeBinaryToWriter ); } }; @@ -3297,20 +3237,20 @@ proto.ord.ReactionInput.prototype.hasAdditionTemperature = function() { /** - * optional StateOfMatter state_of_matter = 10; - * @return {?proto.ord.StateOfMatter} + * optional ProductCompound.Texture texture = 10; + * @return {?proto.ord.ProductCompound.Texture} */ -proto.ord.ReactionInput.prototype.getStateOfMatter = function() { - return /** @type{?proto.ord.StateOfMatter} */ ( - jspb.Message.getWrapperField(this, proto.ord.StateOfMatter, 10)); +proto.ord.ReactionInput.prototype.getTexture = function() { + return /** @type{?proto.ord.ProductCompound.Texture} */ ( + jspb.Message.getWrapperField(this, proto.ord.ProductCompound.Texture, 10)); }; /** - * @param {?proto.ord.StateOfMatter|undefined} value + * @param {?proto.ord.ProductCompound.Texture|undefined} value * @return {!proto.ord.ReactionInput} returns this */ -proto.ord.ReactionInput.prototype.setStateOfMatter = function(value) { +proto.ord.ReactionInput.prototype.setTexture = function(value) { return jspb.Message.setWrapperField(this, 10, value); }; @@ -3319,8 +3259,8 @@ proto.ord.ReactionInput.prototype.setStateOfMatter = function(value) { * Clears the message field making it undefined. * @return {!proto.ord.ReactionInput} returns this */ -proto.ord.ReactionInput.prototype.clearStateOfMatter = function() { - return this.setStateOfMatter(undefined); +proto.ord.ReactionInput.prototype.clearTexture = function() { + return this.setTexture(undefined); }; @@ -3328,48 +3268,11 @@ proto.ord.ReactionInput.prototype.clearStateOfMatter = function() { * Returns whether this field is set. * @return {boolean} */ -proto.ord.ReactionInput.prototype.hasStateOfMatter = function() { +proto.ord.ReactionInput.prototype.hasTexture = function() { return jspb.Message.getField(this, 10) != null; }; -/** - * optional MixtureDescription mixture_description = 11; - * @return {?proto.ord.MixtureDescription} - */ -proto.ord.ReactionInput.prototype.getMixtureDescription = function() { - return /** @type{?proto.ord.MixtureDescription} */ ( - jspb.Message.getWrapperField(this, proto.ord.MixtureDescription, 11)); -}; - - -/** - * @param {?proto.ord.MixtureDescription|undefined} value - * @return {!proto.ord.ReactionInput} returns this -*/ -proto.ord.ReactionInput.prototype.setMixtureDescription = function(value) { - return jspb.Message.setWrapperField(this, 11, value); -}; - - -/** - * Clears the message field making it undefined. - * @return {!proto.ord.ReactionInput} returns this - */ -proto.ord.ReactionInput.prototype.clearMixtureDescription = function() { - return this.setMixtureDescription(undefined); -}; - - -/** - * Returns whether this field is set. - * @return {boolean} - */ -proto.ord.ReactionInput.prototype.hasMixtureDescription = function() { - return jspb.Message.getField(this, 11) != null; -}; - - /** * Oneof group definitions for this message. Each group defines the field @@ -3957,8 +3860,7 @@ proto.ord.CrudeComponent.toObject = function(includeInstance, msg) { includesWorkup: jspb.Message.getBooleanFieldWithDefault(msg, 2, false), hasDerivedAmount: jspb.Message.getBooleanFieldWithDefault(msg, 3, false), amount: (f = msg.getAmount()) && proto.ord.Amount.toObject(includeInstance, f), - stateOfMatter: (f = msg.getStateOfMatter()) && proto.ord.StateOfMatter.toObject(includeInstance, f), - mixtureDescription: (f = msg.getMixtureDescription()) && proto.ord.MixtureDescription.toObject(includeInstance, f) + texture: (f = msg.getTexture()) && proto.ord.ProductCompound.Texture.toObject(includeInstance, f) }; if (includeInstance) { @@ -4013,14 +3915,9 @@ proto.ord.CrudeComponent.deserializeBinaryFromReader = function(msg, reader) { msg.setAmount(value); break; case 5: - var value = new proto.ord.StateOfMatter; - reader.readMessage(value,proto.ord.StateOfMatter.deserializeBinaryFromReader); - msg.setStateOfMatter(value); - break; - case 6: - var value = new proto.ord.MixtureDescription; - reader.readMessage(value,proto.ord.MixtureDescription.deserializeBinaryFromReader); - msg.setMixtureDescription(value); + var value = new proto.ord.ProductCompound.Texture; + reader.readMessage(value,proto.ord.ProductCompound.Texture.deserializeBinaryFromReader); + msg.setTexture(value); break; default: reader.skipField(); @@ -4080,20 +3977,12 @@ proto.ord.CrudeComponent.serializeBinaryToWriter = function(message, writer) { proto.ord.Amount.serializeBinaryToWriter ); } - f = message.getStateOfMatter(); + f = message.getTexture(); if (f != null) { writer.writeMessage( 5, f, - proto.ord.StateOfMatter.serializeBinaryToWriter - ); - } - f = message.getMixtureDescription(); - if (f != null) { - writer.writeMessage( - 6, - f, - proto.ord.MixtureDescription.serializeBinaryToWriter + proto.ord.ProductCompound.Texture.serializeBinaryToWriter ); } }; @@ -4227,20 +4116,20 @@ proto.ord.CrudeComponent.prototype.hasAmount = function() { /** - * optional StateOfMatter state_of_matter = 5; - * @return {?proto.ord.StateOfMatter} + * optional ProductCompound.Texture texture = 5; + * @return {?proto.ord.ProductCompound.Texture} */ -proto.ord.CrudeComponent.prototype.getStateOfMatter = function() { - return /** @type{?proto.ord.StateOfMatter} */ ( - jspb.Message.getWrapperField(this, proto.ord.StateOfMatter, 5)); +proto.ord.CrudeComponent.prototype.getTexture = function() { + return /** @type{?proto.ord.ProductCompound.Texture} */ ( + jspb.Message.getWrapperField(this, proto.ord.ProductCompound.Texture, 5)); }; /** - * @param {?proto.ord.StateOfMatter|undefined} value + * @param {?proto.ord.ProductCompound.Texture|undefined} value * @return {!proto.ord.CrudeComponent} returns this */ -proto.ord.CrudeComponent.prototype.setStateOfMatter = function(value) { +proto.ord.CrudeComponent.prototype.setTexture = function(value) { return jspb.Message.setWrapperField(this, 5, value); }; @@ -4249,8 +4138,8 @@ proto.ord.CrudeComponent.prototype.setStateOfMatter = function(value) { * Clears the message field making it undefined. * @return {!proto.ord.CrudeComponent} returns this */ -proto.ord.CrudeComponent.prototype.clearStateOfMatter = function() { - return this.setStateOfMatter(undefined); +proto.ord.CrudeComponent.prototype.clearTexture = function() { + return this.setTexture(undefined); }; @@ -4258,48 +4147,11 @@ proto.ord.CrudeComponent.prototype.clearStateOfMatter = function() { * Returns whether this field is set. * @return {boolean} */ -proto.ord.CrudeComponent.prototype.hasStateOfMatter = function() { +proto.ord.CrudeComponent.prototype.hasTexture = function() { return jspb.Message.getField(this, 5) != null; }; -/** - * optional MixtureDescription mixture_description = 6; - * @return {?proto.ord.MixtureDescription} - */ -proto.ord.CrudeComponent.prototype.getMixtureDescription = function() { - return /** @type{?proto.ord.MixtureDescription} */ ( - jspb.Message.getWrapperField(this, proto.ord.MixtureDescription, 6)); -}; - - -/** - * @param {?proto.ord.MixtureDescription|undefined} value - * @return {!proto.ord.CrudeComponent} returns this -*/ -proto.ord.CrudeComponent.prototype.setMixtureDescription = function(value) { - return jspb.Message.setWrapperField(this, 6, value); -}; - - -/** - * Clears the message field making it undefined. - * @return {!proto.ord.CrudeComponent} returns this - */ -proto.ord.CrudeComponent.prototype.clearMixtureDescription = function() { - return this.setMixtureDescription(undefined); -}; - - -/** - * Returns whether this field is set. - * @return {boolean} - */ -proto.ord.CrudeComponent.prototype.hasMixtureDescription = function() { - return jspb.Message.getField(this, 6) != null; -}; - - /** * List of repeated fields within this message type. @@ -4349,8 +4201,7 @@ proto.ord.Compound.toObject = function(includeInstance, msg) { source: (f = msg.getSource()) && proto.ord.Compound.Source.toObject(includeInstance, f), featuresMap: (f = msg.getFeaturesMap()) ? f.toObject(includeInstance, proto.ord.Data.toObject) : [], analysesMap: (f = msg.getAnalysesMap()) ? f.toObject(includeInstance, proto.ord.Analysis.toObject) : [], - stateOfMatter: (f = msg.getStateOfMatter()) && proto.ord.StateOfMatter.toObject(includeInstance, f), - mixtureDescription: (f = msg.getMixtureDescription()) && proto.ord.MixtureDescription.toObject(includeInstance, f) + texture: (f = msg.getTexture()) && proto.ord.ProductCompound.Texture.toObject(includeInstance, f) }; if (includeInstance) { @@ -4428,14 +4279,9 @@ proto.ord.Compound.deserializeBinaryFromReader = function(msg, reader) { }); break; case 9: - var value = new proto.ord.StateOfMatter; - reader.readMessage(value,proto.ord.StateOfMatter.deserializeBinaryFromReader); - msg.setStateOfMatter(value); - break; - case 10: - var value = new proto.ord.MixtureDescription; - reader.readMessage(value,proto.ord.MixtureDescription.deserializeBinaryFromReader); - msg.setMixtureDescription(value); + var value = new proto.ord.ProductCompound.Texture; + reader.readMessage(value,proto.ord.ProductCompound.Texture.deserializeBinaryFromReader); + msg.setTexture(value); break; default: reader.skipField(); @@ -4520,20 +4366,12 @@ proto.ord.Compound.serializeBinaryToWriter = function(message, writer) { if (f && f.getLength() > 0) { f.serializeBinary(8, writer, jspb.BinaryWriter.prototype.writeString, jspb.BinaryWriter.prototype.writeMessage, proto.ord.Analysis.serializeBinaryToWriter); } - f = message.getStateOfMatter(); + f = message.getTexture(); if (f != null) { writer.writeMessage( 9, f, - proto.ord.StateOfMatter.serializeBinaryToWriter - ); - } - f = message.getMixtureDescription(); - if (f != null) { - writer.writeMessage( - 10, - f, - proto.ord.MixtureDescription.serializeBinaryToWriter + proto.ord.ProductCompound.Texture.serializeBinaryToWriter ); } }; @@ -4980,20 +4818,20 @@ proto.ord.Compound.prototype.clearAnalysesMap = function() { /** - * optional StateOfMatter state_of_matter = 9; - * @return {?proto.ord.StateOfMatter} + * optional ProductCompound.Texture texture = 9; + * @return {?proto.ord.ProductCompound.Texture} */ -proto.ord.Compound.prototype.getStateOfMatter = function() { - return /** @type{?proto.ord.StateOfMatter} */ ( - jspb.Message.getWrapperField(this, proto.ord.StateOfMatter, 9)); +proto.ord.Compound.prototype.getTexture = function() { + return /** @type{?proto.ord.ProductCompound.Texture} */ ( + jspb.Message.getWrapperField(this, proto.ord.ProductCompound.Texture, 9)); }; /** - * @param {?proto.ord.StateOfMatter|undefined} value + * @param {?proto.ord.ProductCompound.Texture|undefined} value * @return {!proto.ord.Compound} returns this */ -proto.ord.Compound.prototype.setStateOfMatter = function(value) { +proto.ord.Compound.prototype.setTexture = function(value) { return jspb.Message.setWrapperField(this, 9, value); }; @@ -5002,8 +4840,8 @@ proto.ord.Compound.prototype.setStateOfMatter = function(value) { * Clears the message field making it undefined. * @return {!proto.ord.Compound} returns this */ -proto.ord.Compound.prototype.clearStateOfMatter = function() { - return this.setStateOfMatter(undefined); +proto.ord.Compound.prototype.clearTexture = function() { + return this.setTexture(undefined); }; @@ -5011,333 +4849,11 @@ proto.ord.Compound.prototype.clearStateOfMatter = function() { * Returns whether this field is set. * @return {boolean} */ -proto.ord.Compound.prototype.hasStateOfMatter = function() { +proto.ord.Compound.prototype.hasTexture = function() { return jspb.Message.getField(this, 9) != null; }; -/** - * optional MixtureDescription mixture_description = 10; - * @return {?proto.ord.MixtureDescription} - */ -proto.ord.Compound.prototype.getMixtureDescription = function() { - return /** @type{?proto.ord.MixtureDescription} */ ( - jspb.Message.getWrapperField(this, proto.ord.MixtureDescription, 10)); -}; - - -/** - * @param {?proto.ord.MixtureDescription|undefined} value - * @return {!proto.ord.Compound} returns this -*/ -proto.ord.Compound.prototype.setMixtureDescription = function(value) { - return jspb.Message.setWrapperField(this, 10, value); -}; - - -/** - * Clears the message field making it undefined. - * @return {!proto.ord.Compound} returns this - */ -proto.ord.Compound.prototype.clearMixtureDescription = function() { - return this.setMixtureDescription(undefined); -}; - - -/** - * Returns whether this field is set. - * @return {boolean} - */ -proto.ord.Compound.prototype.hasMixtureDescription = function() { - return jspb.Message.getField(this, 10) != null; -}; - - - - - -if (jspb.Message.GENERATE_TO_OBJECT) { -/** - * Creates an object representation of this proto. - * Field names that are reserved in JavaScript and will be renamed to pb_name. - * Optional fields that are not set will be set to undefined. - * To access a reserved field use, foo.pb_, eg, foo.pb_default. - * For the list of reserved names please see: - * net/proto2/compiler/js/internal/generator.cc#kKeyword. - * @param {boolean=} opt_includeInstance Deprecated. whether to include the - * JSPB instance for transitional soy proto support: - * http://goto/soy-param-migration - * @return {!Object} - */ -proto.ord.StateOfMatter.prototype.toObject = function(opt_includeInstance) { - return proto.ord.StateOfMatter.toObject(opt_includeInstance, this); -}; - - -/** - * Static version of the {@see toObject} method. - * @param {boolean|undefined} includeInstance Deprecated. Whether to include - * the JSPB instance for transitional soy proto support: - * http://goto/soy-param-migration - * @param {!proto.ord.StateOfMatter} msg The msg instance to transform. - * @return {!Object} - * @suppress {unusedLocalVariables} f is only used for nested messages - */ -proto.ord.StateOfMatter.toObject = function(includeInstance, msg) { - var f, obj = { - - }; - - if (includeInstance) { - obj.$jspbMessageInstance = msg; - } - return obj; -}; -} - - -/** - * Deserializes binary data (in protobuf wire format). - * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.ord.StateOfMatter} - */ -proto.ord.StateOfMatter.deserializeBinary = function(bytes) { - var reader = new jspb.BinaryReader(bytes); - var msg = new proto.ord.StateOfMatter; - return proto.ord.StateOfMatter.deserializeBinaryFromReader(msg, reader); -}; - - -/** - * Deserializes binary data (in protobuf wire format) from the - * given reader into the given message object. - * @param {!proto.ord.StateOfMatter} msg The message object to deserialize into. - * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.ord.StateOfMatter} - */ -proto.ord.StateOfMatter.deserializeBinaryFromReader = function(msg, reader) { - while (reader.nextField()) { - if (reader.isEndGroup()) { - break; - } - var field = reader.getFieldNumber(); - switch (field) { - default: - reader.skipField(); - break; - } - } - return msg; -}; - - -/** - * Serializes the message to binary data (in protobuf wire format). - * @return {!Uint8Array} - */ -proto.ord.StateOfMatter.prototype.serializeBinary = function() { - var writer = new jspb.BinaryWriter(); - proto.ord.StateOfMatter.serializeBinaryToWriter(this, writer); - return writer.getResultBuffer(); -}; - - -/** - * Serializes the given message to binary data (in protobuf wire - * format), writing to the given BinaryWriter. - * @param {!proto.ord.StateOfMatter} message - * @param {!jspb.BinaryWriter} writer - * @suppress {unusedLocalVariables} f is only used for nested messages - */ -proto.ord.StateOfMatter.serializeBinaryToWriter = function(message, writer) { - var f = undefined; -}; - - -/** - * @enum {number} - */ -proto.ord.StateOfMatter.StateOfMatterType = { - UNSPECIFIED: 0, - SOLID: 1, - LIQUID: 2, - GAS: 3, - PLASMA: 4 -}; - - - - -if (jspb.Message.GENERATE_TO_OBJECT) { -/** - * Creates an object representation of this proto. - * Field names that are reserved in JavaScript and will be renamed to pb_name. - * Optional fields that are not set will be set to undefined. - * To access a reserved field use, foo.pb_, eg, foo.pb_default. - * For the list of reserved names please see: - * net/proto2/compiler/js/internal/generator.cc#kKeyword. - * @param {boolean=} opt_includeInstance Deprecated. whether to include the - * JSPB instance for transitional soy proto support: - * http://goto/soy-param-migration - * @return {!Object} - */ -proto.ord.MixtureDescription.prototype.toObject = function(opt_includeInstance) { - return proto.ord.MixtureDescription.toObject(opt_includeInstance, this); -}; - - -/** - * Static version of the {@see toObject} method. - * @param {boolean|undefined} includeInstance Deprecated. Whether to include - * the JSPB instance for transitional soy proto support: - * http://goto/soy-param-migration - * @param {!proto.ord.MixtureDescription} msg The msg instance to transform. - * @return {!Object} - * @suppress {unusedLocalVariables} f is only used for nested messages - */ -proto.ord.MixtureDescription.toObject = function(includeInstance, msg) { - var f, obj = { - type: jspb.Message.getFieldWithDefault(msg, 2, 0), - details: jspb.Message.getFieldWithDefault(msg, 3, "") - }; - - if (includeInstance) { - obj.$jspbMessageInstance = msg; - } - return obj; -}; -} - - -/** - * Deserializes binary data (in protobuf wire format). - * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.ord.MixtureDescription} - */ -proto.ord.MixtureDescription.deserializeBinary = function(bytes) { - var reader = new jspb.BinaryReader(bytes); - var msg = new proto.ord.MixtureDescription; - return proto.ord.MixtureDescription.deserializeBinaryFromReader(msg, reader); -}; - - -/** - * Deserializes binary data (in protobuf wire format) from the - * given reader into the given message object. - * @param {!proto.ord.MixtureDescription} msg The message object to deserialize into. - * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.ord.MixtureDescription} - */ -proto.ord.MixtureDescription.deserializeBinaryFromReader = function(msg, reader) { - while (reader.nextField()) { - if (reader.isEndGroup()) { - break; - } - var field = reader.getFieldNumber(); - switch (field) { - case 2: - var value = /** @type {!proto.ord.MixtureDescription.MixtureType} */ (reader.readEnum()); - msg.setType(value); - break; - case 3: - var value = /** @type {string} */ (reader.readString()); - msg.setDetails(value); - break; - default: - reader.skipField(); - break; - } - } - return msg; -}; - - -/** - * Serializes the message to binary data (in protobuf wire format). - * @return {!Uint8Array} - */ -proto.ord.MixtureDescription.prototype.serializeBinary = function() { - var writer = new jspb.BinaryWriter(); - proto.ord.MixtureDescription.serializeBinaryToWriter(this, writer); - return writer.getResultBuffer(); -}; - - -/** - * Serializes the given message to binary data (in protobuf wire - * format), writing to the given BinaryWriter. - * @param {!proto.ord.MixtureDescription} message - * @param {!jspb.BinaryWriter} writer - * @suppress {unusedLocalVariables} f is only used for nested messages - */ -proto.ord.MixtureDescription.serializeBinaryToWriter = function(message, writer) { - var f = undefined; - f = message.getType(); - if (f !== 0.0) { - writer.writeEnum( - 2, - f - ); - } - f = message.getDetails(); - if (f.length > 0) { - writer.writeString( - 3, - f - ); - } -}; - - -/** - * @enum {number} - */ -proto.ord.MixtureDescription.MixtureType = { - UNSPECIFIED: 0, - SOLUTION: 1, - COLLOID: 2, - DISPERSION: 3, - SUSPENSION: 4, - PURE: 5, - CUSTOM: 6 -}; - -/** - * optional MixtureType type = 2; - * @return {!proto.ord.MixtureDescription.MixtureType} - */ -proto.ord.MixtureDescription.prototype.getType = function() { - return /** @type {!proto.ord.MixtureDescription.MixtureType} */ (jspb.Message.getFieldWithDefault(this, 2, 0)); -}; - - -/** - * @param {!proto.ord.MixtureDescription.MixtureType} value - * @return {!proto.ord.MixtureDescription} returns this - */ -proto.ord.MixtureDescription.prototype.setType = function(value) { - return jspb.Message.setProto3EnumField(this, 2, value); -}; - - -/** - * optional string details = 3; - * @return {string} - */ -proto.ord.MixtureDescription.prototype.getDetails = function() { - return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, "")); -}; - - -/** - * @param {string} value - * @return {!proto.ord.MixtureDescription} returns this - */ -proto.ord.MixtureDescription.prototype.setDetails = function(value) { - return jspb.Message.setProto3StringField(this, 3, value); -}; - - @@ -13687,7 +13203,8 @@ proto.ord.ProductCompound.Texture.TextureType = { WAX: 7, SEMI_SOLID: 8, SOLID: 9, - LIQUID: 10 + LIQUID: 10, + GAS: 11 }; /** diff --git a/ord_schema/proto/reaction_pb2.py b/ord_schema/proto/reaction_pb2.py index 61289736..a66d4e53 100644 --- a/ord_schema/proto/reaction_pb2.py +++ b/ord_schema/proto/reaction_pb2.py @@ -27,7 +27,7 @@ -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1ford-schema/proto/reaction.proto\x12\x03ord\"\xd9\x03\n\x08Reaction\x12,\n\x0bidentifiers\x18\x01 \x03(\x0b\x32\x17.ord.ReactionIdentifier\x12)\n\x06inputs\x18\x02 \x03(\x0b\x32\x19.ord.Reaction.InputsEntry\x12!\n\x05setup\x18\x03 \x01(\x0b\x32\x12.ord.ReactionSetup\x12+\n\nconditions\x18\x04 \x01(\x0b\x32\x17.ord.ReactionConditions\x12!\n\x05notes\x18\x05 \x01(\x0b\x32\x12.ord.ReactionNotes\x12.\n\x0cobservations\x18\x06 \x03(\x0b\x32\x18.ord.ReactionObservation\x12$\n\x07workups\x18\x07 \x03(\x0b\x32\x13.ord.ReactionWorkup\x12&\n\x08outcomes\x18\x08 \x03(\x0b\x32\x14.ord.ReactionOutcome\x12+\n\nprovenance\x18\t \x01(\x0b\x32\x17.ord.ReactionProvenance\x12\x13\n\x0breaction_id\x18\n \x01(\t\x1a\x41\n\x0bInputsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12!\n\x05value\x18\x02 \x01(\x0b\x32\x12.ord.ReactionInput:\x02\x38\x01\"\xa7\x02\n\x12ReactionIdentifier\x12<\n\x04type\x18\x01 \x01(\x0e\x32..ord.ReactionIdentifier.ReactionIdentifierType\x12\x0f\n\x07\x64\x65tails\x18\x02 \x01(\t\x12\r\n\x05value\x18\x03 \x01(\t\x12\x16\n\tis_mapped\x18\x04 \x01(\x08H\x00\x88\x01\x01\"\x8c\x01\n\x16ReactionIdentifierType\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\n\n\x06\x43USTOM\x10\x01\x12\x13\n\x0fREACTION_SMILES\x10\x02\x12\x15\n\x11REACTION_CXSMILES\x10\x06\x12\n\n\x06RDFILE\x10\x03\x12\n\n\x06RINCHI\x10\x04\x12\x11\n\rREACTION_TYPE\x10\x05\x42\x0c\n\n_is_mapped\"\x9f\x07\n\rReactionInput\x12!\n\ncomponents\x18\x01 \x03(\x0b\x32\r.ord.Compound\x12-\n\x10\x63rude_components\x18\x02 \x03(\x0b\x32\x13.ord.CrudeComponent\x12\x16\n\x0e\x61\x64\x64ition_order\x18\x03 \x01(\x05\x12 \n\raddition_time\x18\x04 \x01(\x0b\x32\t.ord.Time\x12\x38\n\x0e\x61\x64\x64ition_speed\x18\x05 \x01(\x0b\x32 .ord.ReactionInput.AdditionSpeed\x12$\n\x11\x61\x64\x64ition_duration\x18\x06 \x01(\x0b\x32\t.ord.Time\x12 \n\tflow_rate\x18\x07 \x01(\x0b\x32\r.ord.FlowRate\x12:\n\x0f\x61\x64\x64ition_device\x18\x08 \x01(\x0b\x32!.ord.ReactionInput.AdditionDevice\x12.\n\x14\x61\x64\x64ition_temperature\x18\t \x01(\x0b\x32\x10.ord.Temperature\x12+\n\x0fstate_of_matter\x18\n \x01(\x0b\x32\x12.ord.StateOfMatter\x12\x34\n\x13mixture_description\x18\x0b \x01(\x0b\x32\x17.ord.MixtureDescription\x1a\xdc\x01\n\rAdditionSpeed\x12@\n\x04type\x18\x01 \x01(\x0e\x32\x32.ord.ReactionInput.AdditionSpeed.AdditionSpeedType\x12\x0f\n\x07\x64\x65tails\x18\x02 \x01(\t\"x\n\x11\x41\x64\x64itionSpeedType\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\x0f\n\x0b\x41LL_AT_ONCE\x10\x01\x12\x08\n\x04\x46\x41ST\x10\x02\x12\x08\n\x04SLOW\x10\x03\x12\x0c\n\x08\x44ROPWISE\x10\x04\x12\x0e\n\nCONTINUOUS\x10\x05\x12\x0f\n\x0bPORTIONWISE\x10\x06\x1a\xd1\x01\n\x0e\x41\x64\x64itionDevice\x12\x42\n\x04type\x18\x01 \x01(\x0e\x32\x34.ord.ReactionInput.AdditionDevice.AdditionDeviceType\x12\x0f\n\x07\x64\x65tails\x18\x02 \x01(\t\"j\n\x12\x41\x64\x64itionDeviceType\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\n\n\x06\x43USTOM\x10\x01\x12\x08\n\x04NONE\x10\x02\x12\x0b\n\x07SYRINGE\x10\x03\x12\x0b\n\x07\x43\x41NNULA\x10\x04\x12\x13\n\x0f\x41\x44\x44ITION_FUNNEL\x10\x05\"\xd6\x01\n\x06\x41mount\x12\x19\n\x04mass\x18\x01 \x01(\x0b\x32\t.ord.MassH\x00\x12\x1b\n\x05moles\x18\x02 \x01(\x0b\x32\n.ord.MolesH\x00\x12\x1d\n\x06volume\x18\x03 \x01(\x0b\x32\x0b.ord.VolumeH\x00\x12+\n\nunmeasured\x18\x05 \x01(\x0b\x32\x15.ord.UnmeasuredAmountH\x00\x12$\n\x17volume_includes_solutes\x18\x04 \x01(\x08H\x01\x88\x01\x01\x42\x06\n\x04kindB\x1a\n\x18_volume_includes_solutes\"\xbe\x01\n\x10UnmeasuredAmount\x12\x38\n\x04type\x18\x01 \x01(\x0e\x32*.ord.UnmeasuredAmount.UnmeasuredAmountType\x12\x0f\n\x07\x64\x65tails\x18\x02 \x01(\t\"_\n\x14UnmeasuredAmountType\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\n\n\x06\x43USTOM\x10\x01\x12\r\n\tSATURATED\x10\x02\x12\r\n\tCATALYTIC\x10\x03\x12\x0c\n\x08TITRATED\x10\x04\"\x8f\x02\n\x0e\x43rudeComponent\x12\x13\n\x0breaction_id\x18\x01 \x01(\t\x12\x1c\n\x0fincludes_workup\x18\x02 \x01(\x08H\x00\x88\x01\x01\x12\x1f\n\x12has_derived_amount\x18\x03 \x01(\x08H\x01\x88\x01\x01\x12\x1b\n\x06\x61mount\x18\x04 \x01(\x0b\x32\x0b.ord.Amount\x12+\n\x0fstate_of_matter\x18\x05 \x01(\x0b\x32\x12.ord.StateOfMatter\x12\x34\n\x13mixture_description\x18\x06 \x01(\x0b\x32\x17.ord.MixtureDescriptionB\x12\n\x10_includes_workupB\x15\n\x13_has_derived_amount\"\x88\x05\n\x08\x43ompound\x12,\n\x0bidentifiers\x18\x01 \x03(\x0b\x32\x17.ord.CompoundIdentifier\x12\x1b\n\x06\x61mount\x18\x02 \x01(\x0b\x32\x0b.ord.Amount\x12\x39\n\rreaction_role\x18\x03 \x01(\x0e\x32\".ord.ReactionRole.ReactionRoleType\x12\x18\n\x0bis_limiting\x18\x04 \x01(\x08H\x00\x88\x01\x01\x12.\n\x0cpreparations\x18\x05 \x03(\x0b\x32\x18.ord.CompoundPreparation\x12$\n\x06source\x18\x06 \x01(\x0b\x32\x14.ord.Compound.Source\x12-\n\x08\x66\x65\x61tures\x18\x07 \x03(\x0b\x32\x1b.ord.Compound.FeaturesEntry\x12-\n\x08\x61nalyses\x18\x08 \x03(\x0b\x32\x1b.ord.Compound.AnalysesEntry\x12+\n\x0fstate_of_matter\x18\t \x01(\x0b\x32\x12.ord.StateOfMatter\x12\x34\n\x13mixture_description\x18\n \x01(\x0b\x32\x17.ord.MixtureDescription\x1a\x39\n\x06Source\x12\x0e\n\x06vendor\x18\x01 \x01(\t\x12\x12\n\ncatalog_id\x18\x02 \x01(\t\x12\x0b\n\x03lot\x18\x03 \x01(\t\x1a:\n\rFeaturesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x18\n\x05value\x18\x02 \x01(\x0b\x32\t.ord.Data:\x02\x38\x01\x1a>\n\rAnalysesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x1c\n\x05value\x18\x02 \x01(\x0b\x32\r.ord.Analysis:\x02\x38\x01\x42\x0e\n\x0c_is_limiting\"a\n\rStateOfMatter\"P\n\x11StateOfMatterType\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\t\n\x05SOLID\x10\x01\x12\n\n\x06LIQUID\x10\x02\x12\x07\n\x03GAS\x10\x03\x12\n\n\x06PLASMA\x10\x04\"\xc9\x01\n\x12MixtureDescription\x12\x31\n\x04type\x18\x02 \x01(\x0e\x32#.ord.MixtureDescription.MixtureType\x12\x0f\n\x07\x64\x65tails\x18\x03 \x01(\t\"o\n\x0bMixtureType\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\x0c\n\x08SOLUTION\x10\x01\x12\x0b\n\x07\x43olloid\x10\x02\x12\x0e\n\nDispersion\x10\x03\x12\x0e\n\nSuspension\x10\x04\x12\x08\n\x04PURE\x10\x05\x12\n\n\x06\x43USTOM\x10\x06\"\xd3\x01\n\x0cReactionRole\"\xc2\x01\n\x10ReactionRoleType\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\x0c\n\x08REACTANT\x10\x01\x12\x0b\n\x07REAGENT\x10\x02\x12\x0b\n\x07SOLVENT\x10\x03\x12\x0c\n\x08\x43\x41TALYST\x10\x04\x12\n\n\x06WORKUP\x10\x05\x12\x15\n\x11INTERNAL_STANDARD\x10\x06\x12\x16\n\x12\x41UTHENTIC_STANDARD\x10\x07\x12\x0b\n\x07PRODUCT\x10\x08\x12\r\n\tBYPRODUCT\x10\t\x12\x10\n\x0cSIDE_PRODUCT\x10\n\"\xf6\x01\n\x13\x43ompoundPreparation\x12>\n\x04type\x18\x01 \x01(\x0e\x32\x30.ord.CompoundPreparation.CompoundPreparationType\x12\x0f\n\x07\x64\x65tails\x18\x02 \x01(\t\x12\x13\n\x0breaction_id\x18\x03 \x01(\t\"y\n\x17\x43ompoundPreparationType\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\n\n\x06\x43USTOM\x10\x01\x12\x08\n\x04NONE\x10\x02\x12\x0e\n\nREPURIFIED\x10\x03\x12\x0b\n\x07SPARGED\x10\x04\x12\t\n\x05\x44RIED\x10\x05\x12\x0f\n\x0bSYNTHESIZED\x10\x06\"\x82\x03\n\x12\x43ompoundIdentifier\x12<\n\x04type\x18\x01 \x01(\x0e\x32..ord.CompoundIdentifier.CompoundIdentifierType\x12\x0f\n\x07\x64\x65tails\x18\x02 \x01(\t\x12\r\n\x05value\x18\x03 \x01(\t\"\x8d\x02\n\x16\x43ompoundIdentifierType\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\n\n\x06\x43USTOM\x10\x01\x12\n\n\x06SMILES\x10\x02\x12\t\n\x05INCHI\x10\x03\x12\x0c\n\x08MOLBLOCK\x10\x04\x12\x0e\n\nIUPAC_NAME\x10\x05\x12\x08\n\x04NAME\x10\x06\x12\x0e\n\nCAS_NUMBER\x10\x07\x12\x0f\n\x0bPUBCHEM_CID\x10\x08\x12\x11\n\rCHEMSPIDER_ID\x10\t\x12\x0c\n\x08\x43XSMILES\x10\n\x12\r\n\tINCHI_KEY\x10\x0b\x12\x07\n\x03XYZ\x10\x0c\x12\x0e\n\nUNIPROT_ID\x10\r\x12\n\n\x06PDB_ID\x10\x0e\x12\x17\n\x13\x41MINO_ACID_SEQUENCE\x10\x0f\x12\x08\n\x04HELM\x10\x10\"\xa7\x04\n\x06Vessel\x12$\n\x04type\x18\x01 \x01(\x0e\x32\x16.ord.Vessel.VesselType\x12\x0f\n\x07\x64\x65tails\x18\x02 \x01(\t\x12%\n\x08material\x18\x03 \x01(\x0b\x32\x13.ord.VesselMaterial\x12,\n\x0cpreparations\x18\x04 \x03(\x0b\x32\x16.ord.VesselPreparation\x12*\n\x0b\x61ttachments\x18\x05 \x03(\x0b\x32\x15.ord.VesselAttachment\x12\x1b\n\x06volume\x18\x06 \x01(\x0b\x32\x0b.ord.Volume\x12\x11\n\tvessel_id\x18\x07 \x01(\t\x12\x10\n\x08position\x18\x08 \x01(\t\x12\x0b\n\x03row\x18\t \x01(\t\x12\x0b\n\x03\x63ol\x18\n \x01(\t\"\x88\x02\n\nVesselType\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\n\n\x06\x43USTOM\x10\x01\x12\x16\n\x12ROUND_BOTTOM_FLASK\x10\x02\x12\x08\n\x04VIAL\x10\x03\x12\x0e\n\nWELL_PLATE\x10\x04\x12\x12\n\x0eMICROWAVE_VIAL\x10\x05\x12\x08\n\x04TUBE\x10\x06\x12#\n\x1f\x43ONTINUOUS_STIRRED_TANK_REACTOR\x10\x07\x12\x16\n\x12PACKED_BED_REACTOR\x10\x08\x12\x0c\n\x08NMR_TUBE\x10\t\x12\x12\n\x0ePRESSURE_FLASK\x10\n\x12\x14\n\x10PRESSURE_REACTOR\x10\x0b\x12\x18\n\x14\x45LECTROCHEMICAL_CELL\x10\x0c\"\xcc\x01\n\x0eVesselMaterial\x12\x34\n\x04type\x18\x01 \x01(\x0e\x32&.ord.VesselMaterial.VesselMaterialType\x12\x0f\n\x07\x64\x65tails\x18\x02 \x01(\t\"s\n\x12VesselMaterialType\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\n\n\x06\x43USTOM\x10\x01\x12\t\n\x05GLASS\x10\x02\x12\x11\n\rPOLYPROPYLENE\x10\x03\x12\x0b\n\x07PLASTIC\x10\x04\x12\t\n\x05METAL\x10\x05\x12\n\n\x06QUARTZ\x10\x06\"\x97\x03\n\x10VesselAttachment\x12\x38\n\x04type\x18\x01 \x01(\x0e\x32*.ord.VesselAttachment.VesselAttachmentType\x12\x0f\n\x07\x64\x65tails\x18\x02 \x01(\t\"\xb7\x02\n\x14VesselAttachmentType\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\x08\n\x04NONE\x10\x01\x12\n\n\x06\x43USTOM\x10\x02\x12\n\n\x06SEPTUM\x10\x03\x12\x07\n\x03\x43\x41P\x10\x04\x12\x07\n\x03MAT\x10\x05\x12\x14\n\x10REFLUX_CONDENSER\x10\x06\x12\x0f\n\x0bVENT_NEEDLE\x10\x07\x12\x0e\n\nDEAN_STARK\x10\x08\x12\x0f\n\x0bVACUUM_TUBE\x10\t\x12\x13\n\x0f\x41\x44\x44ITION_FUNNEL\x10\n\x12\x0f\n\x0b\x44RYING_TUBE\x10\x0b\x12\x11\n\rALUMINUM_FOIL\x10\x0c\x12\x10\n\x0cTHERMOCOUPLE\x10\r\x12\x0b\n\x07\x42\x41LLOON\x10\x0e\x12\x0f\n\x0bGAS_ADAPTER\x10\x0f\x12\x16\n\x12PRESSURE_REGULATOR\x10\x10\x12\x11\n\rRELEASE_VALVE\x10\x11\"\xe8\x01\n\x11VesselPreparation\x12:\n\x04type\x18\x01 \x01(\x0e\x32,.ord.VesselPreparation.VesselPreparationType\x12\x0f\n\x07\x64\x65tails\x18\x02 \x01(\t\"\x85\x01\n\x15VesselPreparationType\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\n\n\x06\x43USTOM\x10\x01\x12\x08\n\x04NONE\x10\x02\x12\x0e\n\nOVEN_DRIED\x10\x03\x12\x0f\n\x0b\x46LAME_DRIED\x10\x04\x12\x18\n\x14\x45VACUATED_BACKFILLED\x10\x05\x12\n\n\x06PURGED\x10\x06\"\xa0\x04\n\rReactionSetup\x12\x1b\n\x06vessel\x18\x01 \x01(\x0b\x32\x0b.ord.Vessel\x12\x19\n\x0cis_automated\x18\x02 \x01(\x08H\x00\x88\x01\x01\x12\x1b\n\x13\x61utomation_platform\x18\x03 \x01(\t\x12?\n\x0f\x61utomation_code\x18\x04 \x03(\x0b\x32&.ord.ReactionSetup.AutomationCodeEntry\x12;\n\x0b\x65nvironment\x18\x05 \x01(\x0b\x32&.ord.ReactionSetup.ReactionEnvironment\x1a@\n\x13\x41utomationCodeEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x18\n\x05value\x18\x02 \x01(\x0b\x32\t.ord.Data:\x02\x38\x01\x1a\xe8\x01\n\x13ReactionEnvironment\x12L\n\x04type\x18\x01 \x01(\x0e\x32>.ord.ReactionSetup.ReactionEnvironment.ReactionEnvironmentType\x12\x0f\n\x07\x64\x65tails\x18\x02 \x01(\t\"r\n\x17ReactionEnvironmentType\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\n\n\x06\x43USTOM\x10\x01\x12\r\n\tFUME_HOOD\x10\x02\x12\r\n\tBENCH_TOP\x10\x03\x12\r\n\tGLOVE_BOX\x10\x04\x12\r\n\tGLOVE_BAG\x10\x05\x42\x0f\n\r_is_automated\"\xb5\x03\n\x12ReactionConditions\x12/\n\x0btemperature\x18\x01 \x01(\x0b\x32\x1a.ord.TemperatureConditions\x12)\n\x08pressure\x18\x02 \x01(\x0b\x32\x17.ord.PressureConditions\x12)\n\x08stirring\x18\x03 \x01(\x0b\x32\x17.ord.StirringConditions\x12\x31\n\x0cillumination\x18\x04 \x01(\x0b\x32\x1b.ord.IlluminationConditions\x12\x39\n\x10\x65lectrochemistry\x18\x05 \x01(\x0b\x32\x1f.ord.ElectrochemistryConditions\x12!\n\x04\x66low\x18\x06 \x01(\x0b\x32\x13.ord.FlowConditions\x12\x13\n\x06reflux\x18\x07 \x01(\x08H\x00\x88\x01\x01\x12\x0f\n\x02ph\x18\x08 \x01(\x02H\x01\x88\x01\x01\x12#\n\x16\x63onditions_are_dynamic\x18\t \x01(\x08H\x02\x88\x01\x01\x12\x0f\n\x07\x64\x65tails\x18\n \x01(\tB\t\n\x07_refluxB\x05\n\x03_phB\x19\n\x17_conditions_are_dynamic\"\xe2\x06\n\x15TemperatureConditions\x12>\n\x07\x63ontrol\x18\x01 \x01(\x0b\x32-.ord.TemperatureConditions.TemperatureControl\x12\"\n\x08setpoint\x18\x02 \x01(\x0b\x32\x10.ord.Temperature\x12G\n\x0cmeasurements\x18\x03 \x03(\x0b\x32\x31.ord.TemperatureConditions.TemperatureMeasurement\x1a\xd4\x02\n\x12TemperatureControl\x12R\n\x04type\x18\x01 \x01(\x0e\x32\x44.ord.TemperatureConditions.TemperatureControl.TemperatureControlType\x12\x0f\n\x07\x64\x65tails\x18\x02 \x01(\t\"\xd8\x01\n\x16TemperatureControlType\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\n\n\x06\x43USTOM\x10\x01\x12\x0b\n\x07\x41MBIENT\x10\x02\x12\x0c\n\x08OIL_BATH\x10\x03\x12\x0e\n\nWATER_BATH\x10\x04\x12\r\n\tSAND_BATH\x10\x05\x12\x0c\n\x08ICE_BATH\x10\x06\x12\x16\n\x12\x44RY_ALUMINUM_PLATE\x10\x07\x12\r\n\tMICROWAVE\x10\x08\x12\x10\n\x0c\x44RY_ICE_BATH\x10\t\x12\x0b\n\x07\x41IR_FAN\x10\n\x12\x13\n\x0fLIQUID_NITROGEN\x10\x0b\x1a\xc4\x02\n\x16TemperatureMeasurement\x12Z\n\x04type\x18\x01 \x01(\x0e\x32L.ord.TemperatureConditions.TemperatureMeasurement.TemperatureMeasurementType\x12\x0f\n\x07\x64\x65tails\x18\x02 \x01(\t\x12\x17\n\x04time\x18\x03 \x01(\x0b\x32\t.ord.Time\x12%\n\x0btemperature\x18\x04 \x01(\x0b\x32\x10.ord.Temperature\"}\n\x1aTemperatureMeasurementType\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\n\n\x06\x43USTOM\x10\x01\x12\x19\n\x15THERMOCOUPLE_INTERNAL\x10\x02\x12\x19\n\x15THERMOCOUPLE_EXTERNAL\x10\x03\x12\x0c\n\x08INFRARED\x10\x04\"\x8c\x08\n\x12PressureConditions\x12\x38\n\x07\x63ontrol\x18\x01 \x01(\x0b\x32\'.ord.PressureConditions.PressureControl\x12\x1f\n\x08setpoint\x18\x02 \x01(\x0b\x32\r.ord.Pressure\x12\x36\n\natmosphere\x18\x03 \x01(\x0b\x32\".ord.PressureConditions.Atmosphere\x12\x41\n\x0cmeasurements\x18\x04 \x03(\x0b\x32+.ord.PressureConditions.PressureMeasurement\x1a\xe0\x01\n\x0fPressureControl\x12I\n\x04type\x18\x01 \x01(\x0e\x32;.ord.PressureConditions.PressureControl.PressureControlType\x12\x0f\n\x07\x64\x65tails\x18\x02 \x01(\t\"q\n\x13PressureControlType\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\n\n\x06\x43USTOM\x10\x01\x12\x0b\n\x07\x41MBIENT\x10\x02\x12\x13\n\x0fSLIGHT_POSITIVE\x10\x03\x12\n\n\x06SEALED\x10\x04\x12\x0f\n\x0bPRESSURIZED\x10\x05\x1a\xb5\x02\n\nAtmosphere\x12?\n\x04type\x18\x01 \x01(\x0e\x32\x31.ord.PressureConditions.Atmosphere.AtmosphereType\x12\x0f\n\x07\x64\x65tails\x18\x02 \x01(\t\"\xd4\x01\n\x0e\x41tmosphereType\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\n\n\x06\x43USTOM\x10\x01\x12\x07\n\x03\x41IR\x10\x02\x12\x0c\n\x08NITROGEN\x10\x03\x12\t\n\x05\x41RGON\x10\x04\x12\n\n\x06OXYGEN\x10\x05\x12\x0c\n\x08HYDROGEN\x10\x06\x12\x13\n\x0f\x43\x41RBON_MONOXIDE\x10\x07\x12\x12\n\x0e\x43\x41RBON_DIOXIDE\x10\x08\x12\x0b\n\x07METHANE\x10\t\x12\x0b\n\x07\x41MMONIA\x10\n\x12\t\n\x05OZONE\x10\x0b\x12\x0c\n\x08\x45THYLENE\x10\x0c\x12\r\n\tACETYLENE\x10\r\x1a\x84\x02\n\x13PressureMeasurement\x12Q\n\x04type\x18\x01 \x01(\x0e\x32\x43.ord.PressureConditions.PressureMeasurement.PressureMeasurementType\x12\x0f\n\x07\x64\x65tails\x18\x02 \x01(\t\x12\x17\n\x04time\x18\x03 \x01(\x0b\x32\t.ord.Time\x12\x1f\n\x08pressure\x18\x04 \x01(\x0b\x32\r.ord.Pressure\"O\n\x17PressureMeasurementType\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\n\n\x06\x43USTOM\x10\x01\x12\x17\n\x13PRESSURE_TRANSDUCER\x10\x02\"\xdc\x03\n\x12StirringConditions\x12\x38\n\x04type\x18\x01 \x01(\x0e\x32*.ord.StirringConditions.StirringMethodType\x12\x0f\n\x07\x64\x65tails\x18\x02 \x01(\t\x12\x32\n\x04rate\x18\x03 \x01(\x0b\x32$.ord.StirringConditions.StirringRate\x1a\xb5\x01\n\x0cStirringRate\x12\x43\n\x04type\x18\x01 \x01(\x0e\x32\x35.ord.StirringConditions.StirringRate.StirringRateType\x12\x0f\n\x07\x64\x65tails\x18\x02 \x01(\t\x12\x0b\n\x03rpm\x18\x03 \x01(\x05\"B\n\x10StirringRateType\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\x08\n\x04HIGH\x10\x01\x12\n\n\x06MEDIUM\x10\x02\x12\x07\n\x03LOW\x10\x03\"\x8e\x01\n\x12StirringMethodType\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\n\n\x06\x43USTOM\x10\x01\x12\x08\n\x04NONE\x10\x02\x12\x0c\n\x08STIR_BAR\x10\x03\x12\x12\n\x0eOVERHEAD_MIXER\x10\x04\x12\r\n\tAGITATION\x10\x05\x12\x10\n\x0c\x42\x41LL_MILLING\x10\x06\x12\x0e\n\nSONICATION\x10\x07\"\xe8\x02\n\x16IlluminationConditions\x12:\n\x04type\x18\x01 \x01(\x0e\x32,.ord.IlluminationConditions.IlluminationType\x12\x0f\n\x07\x64\x65tails\x18\x02 \x01(\t\x12(\n\x0fpeak_wavelength\x18\x03 \x01(\x0b\x32\x0f.ord.Wavelength\x12\r\n\x05\x63olor\x18\x04 \x01(\t\x12\'\n\x12\x64istance_to_vessel\x18\x05 \x01(\x0b\x32\x0b.ord.Length\"\x9e\x01\n\x10IlluminationType\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\n\n\x06\x43USTOM\x10\x01\x12\x0b\n\x07\x41MBIENT\x10\x02\x12\x08\n\x04\x44\x41RK\x10\x03\x12\x07\n\x03LED\x10\x04\x12\x10\n\x0cHALOGEN_LAMP\x10\x05\x12\x12\n\x0e\x44\x45UTERIUM_LAMP\x10\x06\x12\x13\n\x0fSOLAR_SIMULATOR\x10\x07\x12\x12\n\x0e\x42ROAD_SPECTRUM\x10\x08\"\xe0\x06\n\x1a\x45lectrochemistryConditions\x12\x42\n\x04type\x18\x01 \x01(\x0e\x32\x34.ord.ElectrochemistryConditions.ElectrochemistryType\x12\x0f\n\x07\x64\x65tails\x18\x02 \x01(\t\x12\x1d\n\x07\x63urrent\x18\x03 \x01(\x0b\x32\x0c.ord.Current\x12\x1d\n\x07voltage\x18\x04 \x01(\x0b\x32\x0c.ord.Voltage\x12\x16\n\x0e\x61node_material\x18\x05 \x01(\t\x12\x18\n\x10\x63\x61thode_material\x18\x06 \x01(\t\x12)\n\x14\x65lectrode_separation\x18\x07 \x01(\x0b\x32\x0b.ord.Length\x12Q\n\x0cmeasurements\x18\x08 \x03(\x0b\x32;.ord.ElectrochemistryConditions.ElectrochemistryMeasurement\x12\x42\n\x04\x63\x65ll\x18\t \x01(\x0b\x32\x34.ord.ElectrochemistryConditions.ElectrochemistryCell\x1at\n\x1b\x45lectrochemistryMeasurement\x12\x17\n\x04time\x18\x01 \x01(\x0b\x32\t.ord.Time\x12\x1d\n\x07\x63urrent\x18\x02 \x01(\x0b\x32\x0c.ord.Current\x12\x1d\n\x07voltage\x18\x03 \x01(\x0b\x32\x0c.ord.Voltage\x1a\xe3\x01\n\x14\x45lectrochemistryCell\x12[\n\x04type\x18\x01 \x01(\x0e\x32M.ord.ElectrochemistryConditions.ElectrochemistryCell.ElectrochemistryCellType\x12\x0f\n\x07\x64\x65tails\x18\x02 \x01(\t\"]\n\x18\x45lectrochemistryCellType\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\n\n\x06\x43USTOM\x10\x01\x12\x10\n\x0c\x44IVIDED_CELL\x10\x02\x12\x12\n\x0eUNDIVIDED_CELL\x10\x03\"_\n\x14\x45lectrochemistryType\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\n\n\x06\x43USTOM\x10\x01\x12\x14\n\x10\x43ONSTANT_CURRENT\x10\x02\x12\x14\n\x10\x43ONSTANT_VOLTAGE\x10\x03\"\x94\x04\n\x0e\x46lowConditions\x12*\n\x04type\x18\x01 \x01(\x0e\x32\x1c.ord.FlowConditions.FlowType\x12\x0f\n\x07\x64\x65tails\x18\x02 \x01(\t\x12\x11\n\tpump_type\x18\x03 \x01(\t\x12*\n\x06tubing\x18\x04 \x01(\x0b\x32\x1a.ord.FlowConditions.Tubing\x1a\x88\x02\n\x06Tubing\x12\x33\n\x04type\x18\x01 \x01(\x0e\x32%.ord.FlowConditions.Tubing.TubingType\x12\x0f\n\x07\x64\x65tails\x18\x02 \x01(\t\x12\x1d\n\x08\x64iameter\x18\x03 \x01(\x0b\x32\x0b.ord.Length\"\x98\x01\n\nTubingType\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\n\n\x06\x43USTOM\x10\x01\x12\t\n\x05STEEL\x10\x02\x12\n\n\x06\x43OPPER\x10\x03\x12\x07\n\x03PFA\x10\x04\x12\x07\n\x03\x46\x45P\x10\x05\x12\x0c\n\x08TEFLONAF\x10\x06\x12\x08\n\x04PTFE\x10\x07\x12\t\n\x05GLASS\x10\x08\x12\n\n\x06QUARTZ\x10\t\x12\x0b\n\x07SILICON\x10\n\x12\x08\n\x04PDMS\x10\x0b\"{\n\x08\x46lowType\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\n\n\x06\x43USTOM\x10\x01\x12\x15\n\x11PLUG_FLOW_REACTOR\x10\x02\x12#\n\x1f\x43ONTINUOUS_STIRRED_TANK_REACTOR\x10\x03\x12\x16\n\x12PACKED_BED_REACTOR\x10\x04\"\xc0\x03\n\rReactionNotes\x12\x1d\n\x10is_heterogeneous\x18\x01 \x01(\x08H\x00\x88\x01\x01\x12\x1e\n\x11\x66orms_precipitate\x18\x02 \x01(\x08H\x01\x88\x01\x01\x12\x1a\n\ris_exothermic\x18\x03 \x01(\x08H\x02\x88\x01\x01\x12\x16\n\toffgasses\x18\x04 \x01(\x08H\x03\x88\x01\x01\x12%\n\x18is_sensitive_to_moisture\x18\x05 \x01(\x08H\x04\x88\x01\x01\x12#\n\x16is_sensitive_to_oxygen\x18\x06 \x01(\x08H\x05\x88\x01\x01\x12\"\n\x15is_sensitive_to_light\x18\x07 \x01(\x08H\x06\x88\x01\x01\x12\x14\n\x0csafety_notes\x18\x08 \x01(\t\x12\x19\n\x11procedure_details\x18\t \x01(\tB\x13\n\x11_is_heterogeneousB\x14\n\x12_forms_precipitateB\x10\n\x0e_is_exothermicB\x0c\n\n_offgassesB\x1b\n\x19_is_sensitive_to_moistureB\x19\n\x17_is_sensitive_to_oxygenB\x18\n\x16_is_sensitive_to_light\"Y\n\x13ReactionObservation\x12\x17\n\x04time\x18\x01 \x01(\x0b\x32\t.ord.Time\x12\x0f\n\x07\x63omment\x18\x02 \x01(\t\x12\x18\n\x05image\x18\x03 \x01(\x0b\x32\t.ord.Data\"\xcb\x05\n\x0eReactionWorkup\x12\x34\n\x04type\x18\x01 \x01(\x0e\x32&.ord.ReactionWorkup.ReactionWorkupType\x12\x0f\n\x07\x64\x65tails\x18\x02 \x01(\t\x12\x1b\n\x08\x64uration\x18\x03 \x01(\x0b\x32\t.ord.Time\x12!\n\x05input\x18\x04 \x01(\x0b\x32\x12.ord.ReactionInput\x12\x1b\n\x06\x61mount\x18\x05 \x01(\x0b\x32\x0b.ord.Amount\x12/\n\x0btemperature\x18\x06 \x01(\x0b\x32\x1a.ord.TemperatureConditions\x12\x12\n\nkeep_phase\x18\x07 \x01(\t\x12)\n\x08stirring\x18\x08 \x01(\x0b\x32\x17.ord.StirringConditions\x12\x16\n\ttarget_ph\x18\t \x01(\x02H\x00\x88\x01\x01\x12\x19\n\x0cis_automated\x18\n \x01(\x08H\x01\x88\x01\x01\"\xd2\x02\n\x12ReactionWorkupType\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\n\n\x06\x43USTOM\x10\x01\x12\x0c\n\x08\x41\x44\x44ITION\x10\x02\x12\x0b\n\x07\x41LIQUOT\x10\x03\x12\x0f\n\x0bTEMPERATURE\x10\x04\x12\x11\n\rCONCENTRATION\x10\x05\x12\x0e\n\nEXTRACTION\x10\x06\x12\x0e\n\nFILTRATION\x10\x07\x12\x08\n\x04WASH\x10\x08\x12\x11\n\rDRY_IN_VACUUM\x10\t\x12\x15\n\x11\x44RY_WITH_MATERIAL\x10\n\x12\x18\n\x14\x46LASH_CHROMATOGRAPHY\x10\x0b\x12\x18\n\x14OTHER_CHROMATOGRAPHY\x10\x0c\x12\x0e\n\nSCAVENGING\x10\r\x12\x08\n\x04WAIT\x10\x0e\x12\x0c\n\x08STIRRING\x10\x0f\x12\r\n\tPH_ADJUST\x10\x10\x12\x0f\n\x0b\x44ISSOLUTION\x10\x11\x12\x10\n\x0c\x44ISTILLATION\x10\x12\x42\x0c\n\n_target_phB\x0f\n\r_is_automated\"\xf6\x01\n\x0fReactionOutcome\x12 \n\rreaction_time\x18\x01 \x01(\x0b\x32\t.ord.Time\x12#\n\nconversion\x18\x02 \x01(\x0b\x32\x0f.ord.Percentage\x12&\n\x08products\x18\x03 \x03(\x0b\x32\x14.ord.ProductCompound\x12\x34\n\x08\x61nalyses\x18\x04 \x03(\x0b\x32\".ord.ReactionOutcome.AnalysesEntry\x1a>\n\rAnalysesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x1c\n\x05value\x18\x02 \x01(\x0b\x32\r.ord.Analysis:\x02\x38\x01\"\x8d\x05\n\x0fProductCompound\x12,\n\x0bidentifiers\x18\x01 \x03(\x0b\x32\x17.ord.CompoundIdentifier\x12\x1f\n\x12is_desired_product\x18\x02 \x01(\x08H\x00\x88\x01\x01\x12-\n\x0cmeasurements\x18\x03 \x03(\x0b\x32\x17.ord.ProductMeasurement\x12\x16\n\x0eisolated_color\x18\x04 \x01(\t\x12-\n\x07texture\x18\x05 \x01(\x0b\x32\x1c.ord.ProductCompound.Texture\x12\x34\n\x08\x66\x65\x61tures\x18\x06 \x03(\x0b\x32\".ord.ProductCompound.FeaturesEntry\x12\x39\n\rreaction_role\x18\x07 \x01(\x0e\x32\".ord.ReactionRole.ReactionRoleType\x1a\xf0\x01\n\x07Texture\x12\x36\n\x04type\x18\x01 \x01(\x0e\x32(.ord.ProductCompound.Texture.TextureType\x12\x0f\n\x07\x64\x65tails\x18\x02 \x01(\t\"\x9b\x01\n\x0bTextureType\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\n\n\x06\x43USTOM\x10\x01\x12\n\n\x06POWDER\x10\x02\x12\x0b\n\x07\x43RYSTAL\x10\x03\x12\x07\n\x03OIL\x10\x04\x12\x13\n\x0f\x41MORPHOUS_SOLID\x10\x05\x12\x08\n\x04\x46OAM\x10\x06\x12\x07\n\x03WAX\x10\x07\x12\x0e\n\nSEMI_SOLID\x10\x08\x12\t\n\x05SOLID\x10\t\x12\n\n\x06LIQUID\x10\n\x1a:\n\rFeaturesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x18\n\x05value\x18\x02 \x01(\x0b\x32\t.ord.Data:\x02\x38\x01\x42\x15\n\x13_is_desired_product\"\xfb\n\n\x12ProductMeasurement\x12\x14\n\x0c\x61nalysis_key\x18\x01 \x01(\t\x12<\n\x04type\x18\x02 \x01(\x0e\x32..ord.ProductMeasurement.ProductMeasurementType\x12\x0f\n\x07\x64\x65tails\x18\x03 \x01(\t\x12#\n\x16uses_internal_standard\x18\x04 \x01(\x08H\x01\x88\x01\x01\x12\x1a\n\ris_normalized\x18\x05 \x01(\x08H\x02\x88\x01\x01\x12$\n\x17uses_authentic_standard\x18\x06 \x01(\x08H\x03\x88\x01\x01\x12)\n\x12\x61uthentic_standard\x18\x07 \x01(\x0b\x32\r.ord.Compound\x12%\n\npercentage\x18\x08 \x01(\x0b\x32\x0f.ord.PercentageH\x00\x12&\n\x0b\x66loat_value\x18\t \x01(\x0b\x32\x0f.ord.FloatValueH\x00\x12\x16\n\x0cstring_value\x18\n \x01(\tH\x00\x12\x1d\n\x06\x61mount\x18\x0b \x01(\x0b\x32\x0b.ord.AmountH\x00\x12!\n\x0eretention_time\x18\x0c \x01(\x0b\x32\t.ord.Time\x12M\n\x11mass_spec_details\x18\r \x01(\x0b\x32\x32.ord.ProductMeasurement.MassSpecMeasurementDetails\x12\x38\n\x0bselectivity\x18\x0e \x01(\x0b\x32#.ord.ProductMeasurement.Selectivity\x12#\n\nwavelength\x18\x0f \x01(\x0b\x32\x0f.ord.Wavelength\x1a\xe9\x02\n\x1aMassSpecMeasurementDetails\x12X\n\x04type\x18\x01 \x01(\x0e\x32J.ord.ProductMeasurement.MassSpecMeasurementDetails.MassSpecMeasurementType\x12\x0f\n\x07\x64\x65tails\x18\x02 \x01(\t\x12\x1b\n\x0etic_minimum_mz\x18\x03 \x01(\x02H\x00\x88\x01\x01\x12\x1b\n\x0etic_maximum_mz\x18\x04 \x01(\x02H\x01\x88\x01\x01\x12\x12\n\neic_masses\x18\x05 \x03(\x02\"l\n\x17MassSpecMeasurementType\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\n\n\x06\x43USTOM\x10\x01\x12\x07\n\x03TIC\x10\x02\x12\x10\n\x0cTIC_POSITIVE\x10\x03\x12\x10\n\x0cTIC_NEGATIVE\x10\x04\x12\x07\n\x03\x45IC\x10\x05\x42\x11\n\x0f_tic_minimum_mzB\x11\n\x0f_tic_maximum_mz\x1a\xb9\x01\n\x0bSelectivity\x12\x41\n\x04type\x18\x01 \x01(\x0e\x32\x33.ord.ProductMeasurement.Selectivity.SelectivityType\x12\x0f\n\x07\x64\x65tails\x18\x02 \x01(\t\"V\n\x0fSelectivityType\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\n\n\x06\x43USTOM\x10\x01\x12\x06\n\x02\x45\x45\x10\x02\x12\x06\n\x02\x45R\x10\x03\x12\x06\n\x02\x44R\x10\x04\x12\x06\n\x02\x45Z\x10\x05\x12\x06\n\x02ZE\x10\x06\"\x9c\x01\n\x16ProductMeasurementType\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\n\n\x06\x43USTOM\x10\x01\x12\x0c\n\x08IDENTITY\x10\x02\x12\t\n\x05YIELD\x10\x03\x12\x0f\n\x0bSELECTIVITY\x10\x04\x12\n\n\x06PURITY\x10\x05\x12\x08\n\x04\x41REA\x10\x06\x12\n\n\x06\x43OUNTS\x10\x07\x12\r\n\tINTENSITY\x10\x08\x12\n\n\x06\x41MOUNT\x10\tB\x07\n\x05valueB\x19\n\x17_uses_internal_standardB\x10\n\x0e_is_normalizedB\x1a\n\x18_uses_authentic_standard\"\x19\n\x08\x44\x61teTime\x12\r\n\x05value\x18\x01 \x01(\t\"\xcc\x04\n\x08\x41nalysis\x12(\n\x04type\x18\x01 \x01(\x0e\x32\x1a.ord.Analysis.AnalysisType\x12\x0f\n\x07\x64\x65tails\x18\x02 \x01(\t\x12\x0f\n\x07\x63hmo_id\x18\x03 \x01(\x05\x12#\n\x16is_of_isolated_species\x18\x04 \x01(\x08H\x00\x88\x01\x01\x12%\n\x04\x64\x61ta\x18\x05 \x03(\x0b\x32\x17.ord.Analysis.DataEntry\x12\x1f\n\x17instrument_manufacturer\x18\x06 \x01(\t\x12\x31\n\x1ainstrument_last_calibrated\x18\x07 \x01(\x0b\x32\r.ord.DateTime\x1a\x36\n\tDataEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x18\n\x05value\x18\x02 \x01(\x0b\x32\t.ord.Data:\x02\x38\x01\"\x80\x02\n\x0c\x41nalysisType\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\n\n\x06\x43USTOM\x10\x01\x12\x06\n\x02LC\x10\x02\x12\x06\n\x02GC\x10\x03\x12\x06\n\x02IR\x10\x04\x12\n\n\x06NMR_1H\x10\x05\x12\x0b\n\x07NMR_13C\x10\x06\x12\r\n\tNMR_OTHER\x10\x07\x12\x06\n\x02MP\x10\x08\x12\x06\n\x02UV\x10\t\x12\x07\n\x03TLC\x10\n\x12\x06\n\x02MS\x10\x0b\x12\x08\n\x04HRMS\x10\x0c\x12\x08\n\x04MSMS\x10\r\x12\n\n\x06WEIGHT\x10\x0e\x12\x08\n\x04LCMS\x10\x0f\x12\x08\n\x04GCMS\x10\x10\x12\x08\n\x04\x45LSD\x10\x11\x12\x06\n\x02\x43\x44\x10\x12\x12\x07\n\x03SFC\x10\x13\x12\x07\n\x03\x45PR\x10\x14\x12\x07\n\x03XRD\x10\x15\x12\t\n\x05RAMAN\x10\x16\x12\x06\n\x02\x45\x44\x10\x17\x42\x19\n\x17_is_of_isolated_species\"\xab\x03\n\x12ReactionProvenance\x12!\n\x0c\x65xperimenter\x18\x01 \x01(\x0b\x32\x0b.ord.Person\x12\x0c\n\x04\x63ity\x18\x02 \x01(\t\x12\'\n\x10\x65xperiment_start\x18\x03 \x01(\x0b\x32\r.ord.DateTime\x12\x0b\n\x03\x64oi\x18\x04 \x01(\t\x12\x0e\n\x06patent\x18\x05 \x01(\t\x12\x17\n\x0fpublication_url\x18\x06 \x01(\t\x12(\n\x0erecord_created\x18\x07 \x01(\x0b\x32\x10.ord.RecordEvent\x12)\n\x0frecord_modified\x18\x08 \x03(\x0b\x32\x10.ord.RecordEvent\x12H\n\x11reaction_metadata\x18\t \x03(\x0b\x32-.ord.ReactionProvenance.ReactionMetadataEntry\x12\x15\n\x08is_mined\x18\n \x01(\x08H\x00\x88\x01\x01\x1a\x42\n\x15ReactionMetadataEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x18\n\x05value\x18\x02 \x01(\x0b\x32\t.ord.Data:\x02\x38\x01\x42\x0b\n\t_is_mined\"\\\n\x06Person\x12\x10\n\x08username\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\r\n\x05orcid\x18\x03 \x01(\t\x12\x14\n\x0corganization\x18\x04 \x01(\t\x12\r\n\x05\x65mail\x18\x05 \x01(\t\"X\n\x0bRecordEvent\x12\x1b\n\x04time\x18\x01 \x01(\x0b\x32\r.ord.DateTime\x12\x1b\n\x06person\x18\x02 \x01(\x0b\x32\x0b.ord.Person\x12\x0f\n\x07\x64\x65tails\x18\x03 \x01(\t\"\xb5\x01\n\x04Time\x12\x12\n\x05value\x18\x01 \x01(\x02H\x00\x88\x01\x01\x12\x16\n\tprecision\x18\x02 \x01(\x02H\x01\x88\x01\x01\x12!\n\x05units\x18\x03 \x01(\x0e\x32\x12.ord.Time.TimeUnit\"F\n\x08TimeUnit\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\x07\n\x03\x44\x41Y\x10\x04\x12\x08\n\x04HOUR\x10\x01\x12\n\n\x06MINUTE\x10\x02\x12\n\n\x06SECOND\x10\x03\x42\x08\n\x06_valueB\x0c\n\n_precision\"\xc0\x01\n\x04Mass\x12\x12\n\x05value\x18\x01 \x01(\x02H\x00\x88\x01\x01\x12\x16\n\tprecision\x18\x02 \x01(\x02H\x01\x88\x01\x01\x12!\n\x05units\x18\x03 \x01(\x0e\x32\x12.ord.Mass.MassUnit\"Q\n\x08MassUnit\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\x0c\n\x08KILOGRAM\x10\x01\x12\x08\n\x04GRAM\x10\x02\x12\r\n\tMILLIGRAM\x10\x03\x12\r\n\tMICROGRAM\x10\x04\x42\x08\n\x06_valueB\x0c\n\n_precision\"\xc4\x01\n\x05Moles\x12\x12\n\x05value\x18\x01 \x01(\x02H\x00\x88\x01\x01\x12\x16\n\tprecision\x18\x02 \x01(\x02H\x01\x88\x01\x01\x12#\n\x05units\x18\x03 \x01(\x0e\x32\x14.ord.Moles.MolesUnit\"R\n\tMolesUnit\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\x08\n\x04MOLE\x10\x01\x12\r\n\tMILLIMOLE\x10\x02\x12\r\n\tMICROMOLE\x10\x03\x12\x0c\n\x08NANOMOLE\x10\x04\x42\x08\n\x06_valueB\x0c\n\n_precision\"\xcc\x01\n\x06Volume\x12\x12\n\x05value\x18\x01 \x01(\x02H\x00\x88\x01\x01\x12\x16\n\tprecision\x18\x02 \x01(\x02H\x01\x88\x01\x01\x12%\n\x05units\x18\x03 \x01(\x0e\x32\x16.ord.Volume.VolumeUnit\"W\n\nVolumeUnit\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\t\n\x05LITER\x10\x01\x12\x0e\n\nMILLILITER\x10\x02\x12\x0e\n\nMICROLITER\x10\x03\x12\r\n\tNANOLITER\x10\x04\x42\x08\n\x06_valueB\x0c\n\n_precision\"\xd9\x01\n\rConcentration\x12\x12\n\x05value\x18\x01 \x01(\x02H\x00\x88\x01\x01\x12\x16\n\tprecision\x18\x02 \x01(\x02H\x01\x88\x01\x01\x12\x33\n\x05units\x18\x03 \x01(\x0e\x32$.ord.Concentration.ConcentrationUnit\"O\n\x11\x43oncentrationUnit\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\t\n\x05MOLAR\x10\x01\x12\x0e\n\nMILLIMOLAR\x10\x02\x12\x0e\n\nMICROMOLAR\x10\x03\x42\x08\n\x06_valueB\x0c\n\n_precision\"\xf7\x01\n\x08Pressure\x12\x12\n\x05value\x18\x01 \x01(\x02H\x00\x88\x01\x01\x12\x16\n\tprecision\x18\x02 \x01(\x02H\x01\x88\x01\x01\x12)\n\x05units\x18\x03 \x01(\x0e\x32\x1a.ord.Pressure.PressureUnit\"|\n\x0cPressureUnit\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\x07\n\x03\x42\x41R\x10\x01\x12\x0e\n\nATMOSPHERE\x10\x02\x12\x07\n\x03PSI\x10\x03\x12\x08\n\x04KPSI\x10\x04\x12\n\n\x06PASCAL\x10\x05\x12\x0e\n\nKILOPASCAL\x10\x06\x12\x08\n\x04TORR\x10\x07\x12\t\n\x05MM_HG\x10\x08\x42\x08\n\x06_valueB\x0c\n\n_precision\"\xcf\x01\n\x0bTemperature\x12\x12\n\x05value\x18\x01 \x01(\x02H\x00\x88\x01\x01\x12\x16\n\tprecision\x18\x02 \x01(\x02H\x01\x88\x01\x01\x12/\n\x05units\x18\x03 \x01(\x0e\x32 .ord.Temperature.TemperatureUnit\"K\n\x0fTemperatureUnit\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\x0b\n\x07\x43\x45LSIUS\x10\x01\x12\x0e\n\nFAHRENHEIT\x10\x02\x12\n\n\x06KELVIN\x10\x03\x42\x08\n\x06_valueB\x0c\n\n_precision\"\xb3\x01\n\x07\x43urrent\x12\x12\n\x05value\x18\x01 \x01(\x02H\x00\x88\x01\x01\x12\x16\n\tprecision\x18\x02 \x01(\x02H\x01\x88\x01\x01\x12\'\n\x05units\x18\x03 \x01(\x0e\x32\x18.ord.Current.CurrentUnit\";\n\x0b\x43urrentUnit\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\n\n\x06\x41MPERE\x10\x01\x12\x0f\n\x0bMILLIAMPERE\x10\x02\x42\x08\n\x06_valueB\x0c\n\n_precision\"\xaf\x01\n\x07Voltage\x12\x12\n\x05value\x18\x01 \x01(\x02H\x00\x88\x01\x01\x12\x16\n\tprecision\x18\x02 \x01(\x02H\x01\x88\x01\x01\x12\'\n\x05units\x18\x03 \x01(\x0e\x32\x18.ord.Voltage.VoltageUnit\"7\n\x0bVoltageUnit\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\x08\n\x04VOLT\x10\x01\x12\r\n\tMILLIVOLT\x10\x02\x42\x08\n\x06_valueB\x0c\n\n_precision\"\xd1\x01\n\x06Length\x12\x12\n\x05value\x18\x01 \x01(\x02H\x00\x88\x01\x01\x12\x16\n\tprecision\x18\x02 \x01(\x02H\x01\x88\x01\x01\x12%\n\x05units\x18\x03 \x01(\x0e\x32\x16.ord.Length.LengthUnit\"\\\n\nLengthUnit\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\x0e\n\nCENTIMETER\x10\x01\x12\x0e\n\nMILLIMETER\x10\x02\x12\t\n\x05METER\x10\x03\x12\x08\n\x04INCH\x10\x04\x12\x08\n\x04\x46OOT\x10\x05\x42\x08\n\x06_valueB\x0c\n\n_precision\"\xc1\x01\n\nWavelength\x12\x12\n\x05value\x18\x01 \x01(\x02H\x00\x88\x01\x01\x12\x16\n\tprecision\x18\x02 \x01(\x02H\x01\x88\x01\x01\x12-\n\x05units\x18\x03 \x01(\x0e\x32\x1e.ord.Wavelength.WavelengthUnit\"@\n\x0eWavelengthUnit\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\r\n\tNANOMETER\x10\x01\x12\x0e\n\nWAVENUMBER\x10\x02\x42\x08\n\x06_valueB\x0c\n\n_precision\"\xa0\x02\n\x08\x46lowRate\x12\x12\n\x05value\x18\x01 \x01(\x02H\x00\x88\x01\x01\x12\x16\n\tprecision\x18\x02 \x01(\x02H\x01\x88\x01\x01\x12)\n\x05units\x18\x03 \x01(\x0e\x32\x1a.ord.FlowRate.FlowRateUnit\"\xa4\x01\n\x0c\x46lowRateUnit\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\x19\n\x15MICROLITER_PER_MINUTE\x10\x01\x12\x19\n\x15MICROLITER_PER_SECOND\x10\x02\x12\x19\n\x15MILLILITER_PER_MINUTE\x10\x03\x12\x19\n\x15MILLILITER_PER_SECOND\x10\x04\x12\x17\n\x13MICROLITER_PER_HOUR\x10\x05\x42\x08\n\x06_valueB\x0c\n\n_precision\"P\n\nPercentage\x12\x12\n\x05value\x18\x01 \x01(\x02H\x00\x88\x01\x01\x12\x16\n\tprecision\x18\x02 \x01(\x02H\x01\x88\x01\x01\x42\x08\n\x06_valueB\x0c\n\n_precision\"P\n\nFloatValue\x12\x12\n\x05value\x18\x01 \x01(\x02H\x00\x88\x01\x01\x12\x16\n\tprecision\x18\x02 \x01(\x02H\x01\x88\x01\x01\x42\x08\n\x06_valueB\x0c\n\n_precision\"\xa1\x01\n\x04\x44\x61ta\x12\x15\n\x0b\x66loat_value\x18\x01 \x01(\x02H\x00\x12\x17\n\rinteger_value\x18\x02 \x01(\x05H\x00\x12\x15\n\x0b\x62ytes_value\x18\x03 \x01(\x0cH\x00\x12\x16\n\x0cstring_value\x18\x04 \x01(\tH\x00\x12\r\n\x03url\x18\x05 \x01(\tH\x00\x12\x13\n\x0b\x64\x65scription\x18\x06 \x01(\t\x12\x0e\n\x06\x66ormat\x18\x07 \x01(\tB\x06\n\x04kindb\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1ford-schema/proto/reaction.proto\x12\x03ord\"\xd9\x03\n\x08Reaction\x12,\n\x0bidentifiers\x18\x01 \x03(\x0b\x32\x17.ord.ReactionIdentifier\x12)\n\x06inputs\x18\x02 \x03(\x0b\x32\x19.ord.Reaction.InputsEntry\x12!\n\x05setup\x18\x03 \x01(\x0b\x32\x12.ord.ReactionSetup\x12+\n\nconditions\x18\x04 \x01(\x0b\x32\x17.ord.ReactionConditions\x12!\n\x05notes\x18\x05 \x01(\x0b\x32\x12.ord.ReactionNotes\x12.\n\x0cobservations\x18\x06 \x03(\x0b\x32\x18.ord.ReactionObservation\x12$\n\x07workups\x18\x07 \x03(\x0b\x32\x13.ord.ReactionWorkup\x12&\n\x08outcomes\x18\x08 \x03(\x0b\x32\x14.ord.ReactionOutcome\x12+\n\nprovenance\x18\t \x01(\x0b\x32\x17.ord.ReactionProvenance\x12\x13\n\x0breaction_id\x18\n \x01(\t\x1a\x41\n\x0bInputsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12!\n\x05value\x18\x02 \x01(\x0b\x32\x12.ord.ReactionInput:\x02\x38\x01\"\xa7\x02\n\x12ReactionIdentifier\x12<\n\x04type\x18\x01 \x01(\x0e\x32..ord.ReactionIdentifier.ReactionIdentifierType\x12\x0f\n\x07\x64\x65tails\x18\x02 \x01(\t\x12\r\n\x05value\x18\x03 \x01(\t\x12\x16\n\tis_mapped\x18\x04 \x01(\x08H\x00\x88\x01\x01\"\x8c\x01\n\x16ReactionIdentifierType\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\n\n\x06\x43USTOM\x10\x01\x12\x13\n\x0fREACTION_SMILES\x10\x02\x12\x15\n\x11REACTION_CXSMILES\x10\x06\x12\n\n\x06RDFILE\x10\x03\x12\n\n\x06RINCHI\x10\x04\x12\x11\n\rREACTION_TYPE\x10\x05\x42\x0c\n\n_is_mapped\"\xeb\x06\n\rReactionInput\x12!\n\ncomponents\x18\x01 \x03(\x0b\x32\r.ord.Compound\x12-\n\x10\x63rude_components\x18\x02 \x03(\x0b\x32\x13.ord.CrudeComponent\x12\x16\n\x0e\x61\x64\x64ition_order\x18\x03 \x01(\x05\x12 \n\raddition_time\x18\x04 \x01(\x0b\x32\t.ord.Time\x12\x38\n\x0e\x61\x64\x64ition_speed\x18\x05 \x01(\x0b\x32 .ord.ReactionInput.AdditionSpeed\x12$\n\x11\x61\x64\x64ition_duration\x18\x06 \x01(\x0b\x32\t.ord.Time\x12 \n\tflow_rate\x18\x07 \x01(\x0b\x32\r.ord.FlowRate\x12:\n\x0f\x61\x64\x64ition_device\x18\x08 \x01(\x0b\x32!.ord.ReactionInput.AdditionDevice\x12.\n\x14\x61\x64\x64ition_temperature\x18\t \x01(\x0b\x32\x10.ord.Temperature\x12-\n\x07texture\x18\n \x01(\x0b\x32\x1c.ord.ProductCompound.Texture\x1a\xdc\x01\n\rAdditionSpeed\x12@\n\x04type\x18\x01 \x01(\x0e\x32\x32.ord.ReactionInput.AdditionSpeed.AdditionSpeedType\x12\x0f\n\x07\x64\x65tails\x18\x02 \x01(\t\"x\n\x11\x41\x64\x64itionSpeedType\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\x0f\n\x0b\x41LL_AT_ONCE\x10\x01\x12\x08\n\x04\x46\x41ST\x10\x02\x12\x08\n\x04SLOW\x10\x03\x12\x0c\n\x08\x44ROPWISE\x10\x04\x12\x0e\n\nCONTINUOUS\x10\x05\x12\x0f\n\x0bPORTIONWISE\x10\x06\x1a\xd1\x01\n\x0e\x41\x64\x64itionDevice\x12\x42\n\x04type\x18\x01 \x01(\x0e\x32\x34.ord.ReactionInput.AdditionDevice.AdditionDeviceType\x12\x0f\n\x07\x64\x65tails\x18\x02 \x01(\t\"j\n\x12\x41\x64\x64itionDeviceType\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\n\n\x06\x43USTOM\x10\x01\x12\x08\n\x04NONE\x10\x02\x12\x0b\n\x07SYRINGE\x10\x03\x12\x0b\n\x07\x43\x41NNULA\x10\x04\x12\x13\n\x0f\x41\x44\x44ITION_FUNNEL\x10\x05\"\xd6\x01\n\x06\x41mount\x12\x19\n\x04mass\x18\x01 \x01(\x0b\x32\t.ord.MassH\x00\x12\x1b\n\x05moles\x18\x02 \x01(\x0b\x32\n.ord.MolesH\x00\x12\x1d\n\x06volume\x18\x03 \x01(\x0b\x32\x0b.ord.VolumeH\x00\x12+\n\nunmeasured\x18\x05 \x01(\x0b\x32\x15.ord.UnmeasuredAmountH\x00\x12$\n\x17volume_includes_solutes\x18\x04 \x01(\x08H\x01\x88\x01\x01\x42\x06\n\x04kindB\x1a\n\x18_volume_includes_solutes\"\xbe\x01\n\x10UnmeasuredAmount\x12\x38\n\x04type\x18\x01 \x01(\x0e\x32*.ord.UnmeasuredAmount.UnmeasuredAmountType\x12\x0f\n\x07\x64\x65tails\x18\x02 \x01(\t\"_\n\x14UnmeasuredAmountType\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\n\n\x06\x43USTOM\x10\x01\x12\r\n\tSATURATED\x10\x02\x12\r\n\tCATALYTIC\x10\x03\x12\x0c\n\x08TITRATED\x10\x04\"\xdb\x01\n\x0e\x43rudeComponent\x12\x13\n\x0breaction_id\x18\x01 \x01(\t\x12\x1c\n\x0fincludes_workup\x18\x02 \x01(\x08H\x00\x88\x01\x01\x12\x1f\n\x12has_derived_amount\x18\x03 \x01(\x08H\x01\x88\x01\x01\x12\x1b\n\x06\x61mount\x18\x04 \x01(\x0b\x32\x0b.ord.Amount\x12-\n\x07texture\x18\x05 \x01(\x0b\x32\x1c.ord.ProductCompound.TextureB\x12\n\x10_includes_workupB\x15\n\x13_has_derived_amount\"\xd4\x04\n\x08\x43ompound\x12,\n\x0bidentifiers\x18\x01 \x03(\x0b\x32\x17.ord.CompoundIdentifier\x12\x1b\n\x06\x61mount\x18\x02 \x01(\x0b\x32\x0b.ord.Amount\x12\x39\n\rreaction_role\x18\x03 \x01(\x0e\x32\".ord.ReactionRole.ReactionRoleType\x12\x18\n\x0bis_limiting\x18\x04 \x01(\x08H\x00\x88\x01\x01\x12.\n\x0cpreparations\x18\x05 \x03(\x0b\x32\x18.ord.CompoundPreparation\x12$\n\x06source\x18\x06 \x01(\x0b\x32\x14.ord.Compound.Source\x12-\n\x08\x66\x65\x61tures\x18\x07 \x03(\x0b\x32\x1b.ord.Compound.FeaturesEntry\x12-\n\x08\x61nalyses\x18\x08 \x03(\x0b\x32\x1b.ord.Compound.AnalysesEntry\x12-\n\x07texture\x18\t \x01(\x0b\x32\x1c.ord.ProductCompound.Texture\x1a\x39\n\x06Source\x12\x0e\n\x06vendor\x18\x01 \x01(\t\x12\x12\n\ncatalog_id\x18\x02 \x01(\t\x12\x0b\n\x03lot\x18\x03 \x01(\t\x1a:\n\rFeaturesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x18\n\x05value\x18\x02 \x01(\x0b\x32\t.ord.Data:\x02\x38\x01\x1a>\n\rAnalysesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x1c\n\x05value\x18\x02 \x01(\x0b\x32\r.ord.Analysis:\x02\x38\x01\x42\x0e\n\x0c_is_limiting\"\xd3\x01\n\x0cReactionRole\"\xc2\x01\n\x10ReactionRoleType\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\x0c\n\x08REACTANT\x10\x01\x12\x0b\n\x07REAGENT\x10\x02\x12\x0b\n\x07SOLVENT\x10\x03\x12\x0c\n\x08\x43\x41TALYST\x10\x04\x12\n\n\x06WORKUP\x10\x05\x12\x15\n\x11INTERNAL_STANDARD\x10\x06\x12\x16\n\x12\x41UTHENTIC_STANDARD\x10\x07\x12\x0b\n\x07PRODUCT\x10\x08\x12\r\n\tBYPRODUCT\x10\t\x12\x10\n\x0cSIDE_PRODUCT\x10\n\"\xf6\x01\n\x13\x43ompoundPreparation\x12>\n\x04type\x18\x01 \x01(\x0e\x32\x30.ord.CompoundPreparation.CompoundPreparationType\x12\x0f\n\x07\x64\x65tails\x18\x02 \x01(\t\x12\x13\n\x0breaction_id\x18\x03 \x01(\t\"y\n\x17\x43ompoundPreparationType\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\n\n\x06\x43USTOM\x10\x01\x12\x08\n\x04NONE\x10\x02\x12\x0e\n\nREPURIFIED\x10\x03\x12\x0b\n\x07SPARGED\x10\x04\x12\t\n\x05\x44RIED\x10\x05\x12\x0f\n\x0bSYNTHESIZED\x10\x06\"\x82\x03\n\x12\x43ompoundIdentifier\x12<\n\x04type\x18\x01 \x01(\x0e\x32..ord.CompoundIdentifier.CompoundIdentifierType\x12\x0f\n\x07\x64\x65tails\x18\x02 \x01(\t\x12\r\n\x05value\x18\x03 \x01(\t\"\x8d\x02\n\x16\x43ompoundIdentifierType\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\n\n\x06\x43USTOM\x10\x01\x12\n\n\x06SMILES\x10\x02\x12\t\n\x05INCHI\x10\x03\x12\x0c\n\x08MOLBLOCK\x10\x04\x12\x0e\n\nIUPAC_NAME\x10\x05\x12\x08\n\x04NAME\x10\x06\x12\x0e\n\nCAS_NUMBER\x10\x07\x12\x0f\n\x0bPUBCHEM_CID\x10\x08\x12\x11\n\rCHEMSPIDER_ID\x10\t\x12\x0c\n\x08\x43XSMILES\x10\n\x12\r\n\tINCHI_KEY\x10\x0b\x12\x07\n\x03XYZ\x10\x0c\x12\x0e\n\nUNIPROT_ID\x10\r\x12\n\n\x06PDB_ID\x10\x0e\x12\x17\n\x13\x41MINO_ACID_SEQUENCE\x10\x0f\x12\x08\n\x04HELM\x10\x10\"\xa7\x04\n\x06Vessel\x12$\n\x04type\x18\x01 \x01(\x0e\x32\x16.ord.Vessel.VesselType\x12\x0f\n\x07\x64\x65tails\x18\x02 \x01(\t\x12%\n\x08material\x18\x03 \x01(\x0b\x32\x13.ord.VesselMaterial\x12,\n\x0cpreparations\x18\x04 \x03(\x0b\x32\x16.ord.VesselPreparation\x12*\n\x0b\x61ttachments\x18\x05 \x03(\x0b\x32\x15.ord.VesselAttachment\x12\x1b\n\x06volume\x18\x06 \x01(\x0b\x32\x0b.ord.Volume\x12\x11\n\tvessel_id\x18\x07 \x01(\t\x12\x10\n\x08position\x18\x08 \x01(\t\x12\x0b\n\x03row\x18\t \x01(\t\x12\x0b\n\x03\x63ol\x18\n \x01(\t\"\x88\x02\n\nVesselType\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\n\n\x06\x43USTOM\x10\x01\x12\x16\n\x12ROUND_BOTTOM_FLASK\x10\x02\x12\x08\n\x04VIAL\x10\x03\x12\x0e\n\nWELL_PLATE\x10\x04\x12\x12\n\x0eMICROWAVE_VIAL\x10\x05\x12\x08\n\x04TUBE\x10\x06\x12#\n\x1f\x43ONTINUOUS_STIRRED_TANK_REACTOR\x10\x07\x12\x16\n\x12PACKED_BED_REACTOR\x10\x08\x12\x0c\n\x08NMR_TUBE\x10\t\x12\x12\n\x0ePRESSURE_FLASK\x10\n\x12\x14\n\x10PRESSURE_REACTOR\x10\x0b\x12\x18\n\x14\x45LECTROCHEMICAL_CELL\x10\x0c\"\xcc\x01\n\x0eVesselMaterial\x12\x34\n\x04type\x18\x01 \x01(\x0e\x32&.ord.VesselMaterial.VesselMaterialType\x12\x0f\n\x07\x64\x65tails\x18\x02 \x01(\t\"s\n\x12VesselMaterialType\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\n\n\x06\x43USTOM\x10\x01\x12\t\n\x05GLASS\x10\x02\x12\x11\n\rPOLYPROPYLENE\x10\x03\x12\x0b\n\x07PLASTIC\x10\x04\x12\t\n\x05METAL\x10\x05\x12\n\n\x06QUARTZ\x10\x06\"\x97\x03\n\x10VesselAttachment\x12\x38\n\x04type\x18\x01 \x01(\x0e\x32*.ord.VesselAttachment.VesselAttachmentType\x12\x0f\n\x07\x64\x65tails\x18\x02 \x01(\t\"\xb7\x02\n\x14VesselAttachmentType\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\x08\n\x04NONE\x10\x01\x12\n\n\x06\x43USTOM\x10\x02\x12\n\n\x06SEPTUM\x10\x03\x12\x07\n\x03\x43\x41P\x10\x04\x12\x07\n\x03MAT\x10\x05\x12\x14\n\x10REFLUX_CONDENSER\x10\x06\x12\x0f\n\x0bVENT_NEEDLE\x10\x07\x12\x0e\n\nDEAN_STARK\x10\x08\x12\x0f\n\x0bVACUUM_TUBE\x10\t\x12\x13\n\x0f\x41\x44\x44ITION_FUNNEL\x10\n\x12\x0f\n\x0b\x44RYING_TUBE\x10\x0b\x12\x11\n\rALUMINUM_FOIL\x10\x0c\x12\x10\n\x0cTHERMOCOUPLE\x10\r\x12\x0b\n\x07\x42\x41LLOON\x10\x0e\x12\x0f\n\x0bGAS_ADAPTER\x10\x0f\x12\x16\n\x12PRESSURE_REGULATOR\x10\x10\x12\x11\n\rRELEASE_VALVE\x10\x11\"\xe8\x01\n\x11VesselPreparation\x12:\n\x04type\x18\x01 \x01(\x0e\x32,.ord.VesselPreparation.VesselPreparationType\x12\x0f\n\x07\x64\x65tails\x18\x02 \x01(\t\"\x85\x01\n\x15VesselPreparationType\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\n\n\x06\x43USTOM\x10\x01\x12\x08\n\x04NONE\x10\x02\x12\x0e\n\nOVEN_DRIED\x10\x03\x12\x0f\n\x0b\x46LAME_DRIED\x10\x04\x12\x18\n\x14\x45VACUATED_BACKFILLED\x10\x05\x12\n\n\x06PURGED\x10\x06\"\xa0\x04\n\rReactionSetup\x12\x1b\n\x06vessel\x18\x01 \x01(\x0b\x32\x0b.ord.Vessel\x12\x19\n\x0cis_automated\x18\x02 \x01(\x08H\x00\x88\x01\x01\x12\x1b\n\x13\x61utomation_platform\x18\x03 \x01(\t\x12?\n\x0f\x61utomation_code\x18\x04 \x03(\x0b\x32&.ord.ReactionSetup.AutomationCodeEntry\x12;\n\x0b\x65nvironment\x18\x05 \x01(\x0b\x32&.ord.ReactionSetup.ReactionEnvironment\x1a@\n\x13\x41utomationCodeEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x18\n\x05value\x18\x02 \x01(\x0b\x32\t.ord.Data:\x02\x38\x01\x1a\xe8\x01\n\x13ReactionEnvironment\x12L\n\x04type\x18\x01 \x01(\x0e\x32>.ord.ReactionSetup.ReactionEnvironment.ReactionEnvironmentType\x12\x0f\n\x07\x64\x65tails\x18\x02 \x01(\t\"r\n\x17ReactionEnvironmentType\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\n\n\x06\x43USTOM\x10\x01\x12\r\n\tFUME_HOOD\x10\x02\x12\r\n\tBENCH_TOP\x10\x03\x12\r\n\tGLOVE_BOX\x10\x04\x12\r\n\tGLOVE_BAG\x10\x05\x42\x0f\n\r_is_automated\"\xb5\x03\n\x12ReactionConditions\x12/\n\x0btemperature\x18\x01 \x01(\x0b\x32\x1a.ord.TemperatureConditions\x12)\n\x08pressure\x18\x02 \x01(\x0b\x32\x17.ord.PressureConditions\x12)\n\x08stirring\x18\x03 \x01(\x0b\x32\x17.ord.StirringConditions\x12\x31\n\x0cillumination\x18\x04 \x01(\x0b\x32\x1b.ord.IlluminationConditions\x12\x39\n\x10\x65lectrochemistry\x18\x05 \x01(\x0b\x32\x1f.ord.ElectrochemistryConditions\x12!\n\x04\x66low\x18\x06 \x01(\x0b\x32\x13.ord.FlowConditions\x12\x13\n\x06reflux\x18\x07 \x01(\x08H\x00\x88\x01\x01\x12\x0f\n\x02ph\x18\x08 \x01(\x02H\x01\x88\x01\x01\x12#\n\x16\x63onditions_are_dynamic\x18\t \x01(\x08H\x02\x88\x01\x01\x12\x0f\n\x07\x64\x65tails\x18\n \x01(\tB\t\n\x07_refluxB\x05\n\x03_phB\x19\n\x17_conditions_are_dynamic\"\xe2\x06\n\x15TemperatureConditions\x12>\n\x07\x63ontrol\x18\x01 \x01(\x0b\x32-.ord.TemperatureConditions.TemperatureControl\x12\"\n\x08setpoint\x18\x02 \x01(\x0b\x32\x10.ord.Temperature\x12G\n\x0cmeasurements\x18\x03 \x03(\x0b\x32\x31.ord.TemperatureConditions.TemperatureMeasurement\x1a\xd4\x02\n\x12TemperatureControl\x12R\n\x04type\x18\x01 \x01(\x0e\x32\x44.ord.TemperatureConditions.TemperatureControl.TemperatureControlType\x12\x0f\n\x07\x64\x65tails\x18\x02 \x01(\t\"\xd8\x01\n\x16TemperatureControlType\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\n\n\x06\x43USTOM\x10\x01\x12\x0b\n\x07\x41MBIENT\x10\x02\x12\x0c\n\x08OIL_BATH\x10\x03\x12\x0e\n\nWATER_BATH\x10\x04\x12\r\n\tSAND_BATH\x10\x05\x12\x0c\n\x08ICE_BATH\x10\x06\x12\x16\n\x12\x44RY_ALUMINUM_PLATE\x10\x07\x12\r\n\tMICROWAVE\x10\x08\x12\x10\n\x0c\x44RY_ICE_BATH\x10\t\x12\x0b\n\x07\x41IR_FAN\x10\n\x12\x13\n\x0fLIQUID_NITROGEN\x10\x0b\x1a\xc4\x02\n\x16TemperatureMeasurement\x12Z\n\x04type\x18\x01 \x01(\x0e\x32L.ord.TemperatureConditions.TemperatureMeasurement.TemperatureMeasurementType\x12\x0f\n\x07\x64\x65tails\x18\x02 \x01(\t\x12\x17\n\x04time\x18\x03 \x01(\x0b\x32\t.ord.Time\x12%\n\x0btemperature\x18\x04 \x01(\x0b\x32\x10.ord.Temperature\"}\n\x1aTemperatureMeasurementType\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\n\n\x06\x43USTOM\x10\x01\x12\x19\n\x15THERMOCOUPLE_INTERNAL\x10\x02\x12\x19\n\x15THERMOCOUPLE_EXTERNAL\x10\x03\x12\x0c\n\x08INFRARED\x10\x04\"\x8c\x08\n\x12PressureConditions\x12\x38\n\x07\x63ontrol\x18\x01 \x01(\x0b\x32\'.ord.PressureConditions.PressureControl\x12\x1f\n\x08setpoint\x18\x02 \x01(\x0b\x32\r.ord.Pressure\x12\x36\n\natmosphere\x18\x03 \x01(\x0b\x32\".ord.PressureConditions.Atmosphere\x12\x41\n\x0cmeasurements\x18\x04 \x03(\x0b\x32+.ord.PressureConditions.PressureMeasurement\x1a\xe0\x01\n\x0fPressureControl\x12I\n\x04type\x18\x01 \x01(\x0e\x32;.ord.PressureConditions.PressureControl.PressureControlType\x12\x0f\n\x07\x64\x65tails\x18\x02 \x01(\t\"q\n\x13PressureControlType\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\n\n\x06\x43USTOM\x10\x01\x12\x0b\n\x07\x41MBIENT\x10\x02\x12\x13\n\x0fSLIGHT_POSITIVE\x10\x03\x12\n\n\x06SEALED\x10\x04\x12\x0f\n\x0bPRESSURIZED\x10\x05\x1a\xb5\x02\n\nAtmosphere\x12?\n\x04type\x18\x01 \x01(\x0e\x32\x31.ord.PressureConditions.Atmosphere.AtmosphereType\x12\x0f\n\x07\x64\x65tails\x18\x02 \x01(\t\"\xd4\x01\n\x0e\x41tmosphereType\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\n\n\x06\x43USTOM\x10\x01\x12\x07\n\x03\x41IR\x10\x02\x12\x0c\n\x08NITROGEN\x10\x03\x12\t\n\x05\x41RGON\x10\x04\x12\n\n\x06OXYGEN\x10\x05\x12\x0c\n\x08HYDROGEN\x10\x06\x12\x13\n\x0f\x43\x41RBON_MONOXIDE\x10\x07\x12\x12\n\x0e\x43\x41RBON_DIOXIDE\x10\x08\x12\x0b\n\x07METHANE\x10\t\x12\x0b\n\x07\x41MMONIA\x10\n\x12\t\n\x05OZONE\x10\x0b\x12\x0c\n\x08\x45THYLENE\x10\x0c\x12\r\n\tACETYLENE\x10\r\x1a\x84\x02\n\x13PressureMeasurement\x12Q\n\x04type\x18\x01 \x01(\x0e\x32\x43.ord.PressureConditions.PressureMeasurement.PressureMeasurementType\x12\x0f\n\x07\x64\x65tails\x18\x02 \x01(\t\x12\x17\n\x04time\x18\x03 \x01(\x0b\x32\t.ord.Time\x12\x1f\n\x08pressure\x18\x04 \x01(\x0b\x32\r.ord.Pressure\"O\n\x17PressureMeasurementType\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\n\n\x06\x43USTOM\x10\x01\x12\x17\n\x13PRESSURE_TRANSDUCER\x10\x02\"\xdc\x03\n\x12StirringConditions\x12\x38\n\x04type\x18\x01 \x01(\x0e\x32*.ord.StirringConditions.StirringMethodType\x12\x0f\n\x07\x64\x65tails\x18\x02 \x01(\t\x12\x32\n\x04rate\x18\x03 \x01(\x0b\x32$.ord.StirringConditions.StirringRate\x1a\xb5\x01\n\x0cStirringRate\x12\x43\n\x04type\x18\x01 \x01(\x0e\x32\x35.ord.StirringConditions.StirringRate.StirringRateType\x12\x0f\n\x07\x64\x65tails\x18\x02 \x01(\t\x12\x0b\n\x03rpm\x18\x03 \x01(\x05\"B\n\x10StirringRateType\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\x08\n\x04HIGH\x10\x01\x12\n\n\x06MEDIUM\x10\x02\x12\x07\n\x03LOW\x10\x03\"\x8e\x01\n\x12StirringMethodType\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\n\n\x06\x43USTOM\x10\x01\x12\x08\n\x04NONE\x10\x02\x12\x0c\n\x08STIR_BAR\x10\x03\x12\x12\n\x0eOVERHEAD_MIXER\x10\x04\x12\r\n\tAGITATION\x10\x05\x12\x10\n\x0c\x42\x41LL_MILLING\x10\x06\x12\x0e\n\nSONICATION\x10\x07\"\xe8\x02\n\x16IlluminationConditions\x12:\n\x04type\x18\x01 \x01(\x0e\x32,.ord.IlluminationConditions.IlluminationType\x12\x0f\n\x07\x64\x65tails\x18\x02 \x01(\t\x12(\n\x0fpeak_wavelength\x18\x03 \x01(\x0b\x32\x0f.ord.Wavelength\x12\r\n\x05\x63olor\x18\x04 \x01(\t\x12\'\n\x12\x64istance_to_vessel\x18\x05 \x01(\x0b\x32\x0b.ord.Length\"\x9e\x01\n\x10IlluminationType\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\n\n\x06\x43USTOM\x10\x01\x12\x0b\n\x07\x41MBIENT\x10\x02\x12\x08\n\x04\x44\x41RK\x10\x03\x12\x07\n\x03LED\x10\x04\x12\x10\n\x0cHALOGEN_LAMP\x10\x05\x12\x12\n\x0e\x44\x45UTERIUM_LAMP\x10\x06\x12\x13\n\x0fSOLAR_SIMULATOR\x10\x07\x12\x12\n\x0e\x42ROAD_SPECTRUM\x10\x08\"\xe0\x06\n\x1a\x45lectrochemistryConditions\x12\x42\n\x04type\x18\x01 \x01(\x0e\x32\x34.ord.ElectrochemistryConditions.ElectrochemistryType\x12\x0f\n\x07\x64\x65tails\x18\x02 \x01(\t\x12\x1d\n\x07\x63urrent\x18\x03 \x01(\x0b\x32\x0c.ord.Current\x12\x1d\n\x07voltage\x18\x04 \x01(\x0b\x32\x0c.ord.Voltage\x12\x16\n\x0e\x61node_material\x18\x05 \x01(\t\x12\x18\n\x10\x63\x61thode_material\x18\x06 \x01(\t\x12)\n\x14\x65lectrode_separation\x18\x07 \x01(\x0b\x32\x0b.ord.Length\x12Q\n\x0cmeasurements\x18\x08 \x03(\x0b\x32;.ord.ElectrochemistryConditions.ElectrochemistryMeasurement\x12\x42\n\x04\x63\x65ll\x18\t \x01(\x0b\x32\x34.ord.ElectrochemistryConditions.ElectrochemistryCell\x1at\n\x1b\x45lectrochemistryMeasurement\x12\x17\n\x04time\x18\x01 \x01(\x0b\x32\t.ord.Time\x12\x1d\n\x07\x63urrent\x18\x02 \x01(\x0b\x32\x0c.ord.Current\x12\x1d\n\x07voltage\x18\x03 \x01(\x0b\x32\x0c.ord.Voltage\x1a\xe3\x01\n\x14\x45lectrochemistryCell\x12[\n\x04type\x18\x01 \x01(\x0e\x32M.ord.ElectrochemistryConditions.ElectrochemistryCell.ElectrochemistryCellType\x12\x0f\n\x07\x64\x65tails\x18\x02 \x01(\t\"]\n\x18\x45lectrochemistryCellType\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\n\n\x06\x43USTOM\x10\x01\x12\x10\n\x0c\x44IVIDED_CELL\x10\x02\x12\x12\n\x0eUNDIVIDED_CELL\x10\x03\"_\n\x14\x45lectrochemistryType\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\n\n\x06\x43USTOM\x10\x01\x12\x14\n\x10\x43ONSTANT_CURRENT\x10\x02\x12\x14\n\x10\x43ONSTANT_VOLTAGE\x10\x03\"\x94\x04\n\x0e\x46lowConditions\x12*\n\x04type\x18\x01 \x01(\x0e\x32\x1c.ord.FlowConditions.FlowType\x12\x0f\n\x07\x64\x65tails\x18\x02 \x01(\t\x12\x11\n\tpump_type\x18\x03 \x01(\t\x12*\n\x06tubing\x18\x04 \x01(\x0b\x32\x1a.ord.FlowConditions.Tubing\x1a\x88\x02\n\x06Tubing\x12\x33\n\x04type\x18\x01 \x01(\x0e\x32%.ord.FlowConditions.Tubing.TubingType\x12\x0f\n\x07\x64\x65tails\x18\x02 \x01(\t\x12\x1d\n\x08\x64iameter\x18\x03 \x01(\x0b\x32\x0b.ord.Length\"\x98\x01\n\nTubingType\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\n\n\x06\x43USTOM\x10\x01\x12\t\n\x05STEEL\x10\x02\x12\n\n\x06\x43OPPER\x10\x03\x12\x07\n\x03PFA\x10\x04\x12\x07\n\x03\x46\x45P\x10\x05\x12\x0c\n\x08TEFLONAF\x10\x06\x12\x08\n\x04PTFE\x10\x07\x12\t\n\x05GLASS\x10\x08\x12\n\n\x06QUARTZ\x10\t\x12\x0b\n\x07SILICON\x10\n\x12\x08\n\x04PDMS\x10\x0b\"{\n\x08\x46lowType\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\n\n\x06\x43USTOM\x10\x01\x12\x15\n\x11PLUG_FLOW_REACTOR\x10\x02\x12#\n\x1f\x43ONTINUOUS_STIRRED_TANK_REACTOR\x10\x03\x12\x16\n\x12PACKED_BED_REACTOR\x10\x04\"\xc0\x03\n\rReactionNotes\x12\x1d\n\x10is_heterogeneous\x18\x01 \x01(\x08H\x00\x88\x01\x01\x12\x1e\n\x11\x66orms_precipitate\x18\x02 \x01(\x08H\x01\x88\x01\x01\x12\x1a\n\ris_exothermic\x18\x03 \x01(\x08H\x02\x88\x01\x01\x12\x16\n\toffgasses\x18\x04 \x01(\x08H\x03\x88\x01\x01\x12%\n\x18is_sensitive_to_moisture\x18\x05 \x01(\x08H\x04\x88\x01\x01\x12#\n\x16is_sensitive_to_oxygen\x18\x06 \x01(\x08H\x05\x88\x01\x01\x12\"\n\x15is_sensitive_to_light\x18\x07 \x01(\x08H\x06\x88\x01\x01\x12\x14\n\x0csafety_notes\x18\x08 \x01(\t\x12\x19\n\x11procedure_details\x18\t \x01(\tB\x13\n\x11_is_heterogeneousB\x14\n\x12_forms_precipitateB\x10\n\x0e_is_exothermicB\x0c\n\n_offgassesB\x1b\n\x19_is_sensitive_to_moistureB\x19\n\x17_is_sensitive_to_oxygenB\x18\n\x16_is_sensitive_to_light\"Y\n\x13ReactionObservation\x12\x17\n\x04time\x18\x01 \x01(\x0b\x32\t.ord.Time\x12\x0f\n\x07\x63omment\x18\x02 \x01(\t\x12\x18\n\x05image\x18\x03 \x01(\x0b\x32\t.ord.Data\"\xcb\x05\n\x0eReactionWorkup\x12\x34\n\x04type\x18\x01 \x01(\x0e\x32&.ord.ReactionWorkup.ReactionWorkupType\x12\x0f\n\x07\x64\x65tails\x18\x02 \x01(\t\x12\x1b\n\x08\x64uration\x18\x03 \x01(\x0b\x32\t.ord.Time\x12!\n\x05input\x18\x04 \x01(\x0b\x32\x12.ord.ReactionInput\x12\x1b\n\x06\x61mount\x18\x05 \x01(\x0b\x32\x0b.ord.Amount\x12/\n\x0btemperature\x18\x06 \x01(\x0b\x32\x1a.ord.TemperatureConditions\x12\x12\n\nkeep_phase\x18\x07 \x01(\t\x12)\n\x08stirring\x18\x08 \x01(\x0b\x32\x17.ord.StirringConditions\x12\x16\n\ttarget_ph\x18\t \x01(\x02H\x00\x88\x01\x01\x12\x19\n\x0cis_automated\x18\n \x01(\x08H\x01\x88\x01\x01\"\xd2\x02\n\x12ReactionWorkupType\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\n\n\x06\x43USTOM\x10\x01\x12\x0c\n\x08\x41\x44\x44ITION\x10\x02\x12\x0b\n\x07\x41LIQUOT\x10\x03\x12\x0f\n\x0bTEMPERATURE\x10\x04\x12\x11\n\rCONCENTRATION\x10\x05\x12\x0e\n\nEXTRACTION\x10\x06\x12\x0e\n\nFILTRATION\x10\x07\x12\x08\n\x04WASH\x10\x08\x12\x11\n\rDRY_IN_VACUUM\x10\t\x12\x15\n\x11\x44RY_WITH_MATERIAL\x10\n\x12\x18\n\x14\x46LASH_CHROMATOGRAPHY\x10\x0b\x12\x18\n\x14OTHER_CHROMATOGRAPHY\x10\x0c\x12\x0e\n\nSCAVENGING\x10\r\x12\x08\n\x04WAIT\x10\x0e\x12\x0c\n\x08STIRRING\x10\x0f\x12\r\n\tPH_ADJUST\x10\x10\x12\x0f\n\x0b\x44ISSOLUTION\x10\x11\x12\x10\n\x0c\x44ISTILLATION\x10\x12\x42\x0c\n\n_target_phB\x0f\n\r_is_automated\"\xf6\x01\n\x0fReactionOutcome\x12 \n\rreaction_time\x18\x01 \x01(\x0b\x32\t.ord.Time\x12#\n\nconversion\x18\x02 \x01(\x0b\x32\x0f.ord.Percentage\x12&\n\x08products\x18\x03 \x03(\x0b\x32\x14.ord.ProductCompound\x12\x34\n\x08\x61nalyses\x18\x04 \x03(\x0b\x32\".ord.ReactionOutcome.AnalysesEntry\x1a>\n\rAnalysesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x1c\n\x05value\x18\x02 \x01(\x0b\x32\r.ord.Analysis:\x02\x38\x01\"\x96\x05\n\x0fProductCompound\x12,\n\x0bidentifiers\x18\x01 \x03(\x0b\x32\x17.ord.CompoundIdentifier\x12\x1f\n\x12is_desired_product\x18\x02 \x01(\x08H\x00\x88\x01\x01\x12-\n\x0cmeasurements\x18\x03 \x03(\x0b\x32\x17.ord.ProductMeasurement\x12\x16\n\x0eisolated_color\x18\x04 \x01(\t\x12-\n\x07texture\x18\x05 \x01(\x0b\x32\x1c.ord.ProductCompound.Texture\x12\x34\n\x08\x66\x65\x61tures\x18\x06 \x03(\x0b\x32\".ord.ProductCompound.FeaturesEntry\x12\x39\n\rreaction_role\x18\x07 \x01(\x0e\x32\".ord.ReactionRole.ReactionRoleType\x1a\xf9\x01\n\x07Texture\x12\x36\n\x04type\x18\x01 \x01(\x0e\x32(.ord.ProductCompound.Texture.TextureType\x12\x0f\n\x07\x64\x65tails\x18\x02 \x01(\t\"\xa4\x01\n\x0bTextureType\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\n\n\x06\x43USTOM\x10\x01\x12\n\n\x06POWDER\x10\x02\x12\x0b\n\x07\x43RYSTAL\x10\x03\x12\x07\n\x03OIL\x10\x04\x12\x13\n\x0f\x41MORPHOUS_SOLID\x10\x05\x12\x08\n\x04\x46OAM\x10\x06\x12\x07\n\x03WAX\x10\x07\x12\x0e\n\nSEMI_SOLID\x10\x08\x12\t\n\x05SOLID\x10\t\x12\n\n\x06LIQUID\x10\n\x12\x07\n\x03GAS\x10\x0b\x1a:\n\rFeaturesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x18\n\x05value\x18\x02 \x01(\x0b\x32\t.ord.Data:\x02\x38\x01\x42\x15\n\x13_is_desired_product\"\xfb\n\n\x12ProductMeasurement\x12\x14\n\x0c\x61nalysis_key\x18\x01 \x01(\t\x12<\n\x04type\x18\x02 \x01(\x0e\x32..ord.ProductMeasurement.ProductMeasurementType\x12\x0f\n\x07\x64\x65tails\x18\x03 \x01(\t\x12#\n\x16uses_internal_standard\x18\x04 \x01(\x08H\x01\x88\x01\x01\x12\x1a\n\ris_normalized\x18\x05 \x01(\x08H\x02\x88\x01\x01\x12$\n\x17uses_authentic_standard\x18\x06 \x01(\x08H\x03\x88\x01\x01\x12)\n\x12\x61uthentic_standard\x18\x07 \x01(\x0b\x32\r.ord.Compound\x12%\n\npercentage\x18\x08 \x01(\x0b\x32\x0f.ord.PercentageH\x00\x12&\n\x0b\x66loat_value\x18\t \x01(\x0b\x32\x0f.ord.FloatValueH\x00\x12\x16\n\x0cstring_value\x18\n \x01(\tH\x00\x12\x1d\n\x06\x61mount\x18\x0b \x01(\x0b\x32\x0b.ord.AmountH\x00\x12!\n\x0eretention_time\x18\x0c \x01(\x0b\x32\t.ord.Time\x12M\n\x11mass_spec_details\x18\r \x01(\x0b\x32\x32.ord.ProductMeasurement.MassSpecMeasurementDetails\x12\x38\n\x0bselectivity\x18\x0e \x01(\x0b\x32#.ord.ProductMeasurement.Selectivity\x12#\n\nwavelength\x18\x0f \x01(\x0b\x32\x0f.ord.Wavelength\x1a\xe9\x02\n\x1aMassSpecMeasurementDetails\x12X\n\x04type\x18\x01 \x01(\x0e\x32J.ord.ProductMeasurement.MassSpecMeasurementDetails.MassSpecMeasurementType\x12\x0f\n\x07\x64\x65tails\x18\x02 \x01(\t\x12\x1b\n\x0etic_minimum_mz\x18\x03 \x01(\x02H\x00\x88\x01\x01\x12\x1b\n\x0etic_maximum_mz\x18\x04 \x01(\x02H\x01\x88\x01\x01\x12\x12\n\neic_masses\x18\x05 \x03(\x02\"l\n\x17MassSpecMeasurementType\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\n\n\x06\x43USTOM\x10\x01\x12\x07\n\x03TIC\x10\x02\x12\x10\n\x0cTIC_POSITIVE\x10\x03\x12\x10\n\x0cTIC_NEGATIVE\x10\x04\x12\x07\n\x03\x45IC\x10\x05\x42\x11\n\x0f_tic_minimum_mzB\x11\n\x0f_tic_maximum_mz\x1a\xb9\x01\n\x0bSelectivity\x12\x41\n\x04type\x18\x01 \x01(\x0e\x32\x33.ord.ProductMeasurement.Selectivity.SelectivityType\x12\x0f\n\x07\x64\x65tails\x18\x02 \x01(\t\"V\n\x0fSelectivityType\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\n\n\x06\x43USTOM\x10\x01\x12\x06\n\x02\x45\x45\x10\x02\x12\x06\n\x02\x45R\x10\x03\x12\x06\n\x02\x44R\x10\x04\x12\x06\n\x02\x45Z\x10\x05\x12\x06\n\x02ZE\x10\x06\"\x9c\x01\n\x16ProductMeasurementType\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\n\n\x06\x43USTOM\x10\x01\x12\x0c\n\x08IDENTITY\x10\x02\x12\t\n\x05YIELD\x10\x03\x12\x0f\n\x0bSELECTIVITY\x10\x04\x12\n\n\x06PURITY\x10\x05\x12\x08\n\x04\x41REA\x10\x06\x12\n\n\x06\x43OUNTS\x10\x07\x12\r\n\tINTENSITY\x10\x08\x12\n\n\x06\x41MOUNT\x10\tB\x07\n\x05valueB\x19\n\x17_uses_internal_standardB\x10\n\x0e_is_normalizedB\x1a\n\x18_uses_authentic_standard\"\x19\n\x08\x44\x61teTime\x12\r\n\x05value\x18\x01 \x01(\t\"\xcc\x04\n\x08\x41nalysis\x12(\n\x04type\x18\x01 \x01(\x0e\x32\x1a.ord.Analysis.AnalysisType\x12\x0f\n\x07\x64\x65tails\x18\x02 \x01(\t\x12\x0f\n\x07\x63hmo_id\x18\x03 \x01(\x05\x12#\n\x16is_of_isolated_species\x18\x04 \x01(\x08H\x00\x88\x01\x01\x12%\n\x04\x64\x61ta\x18\x05 \x03(\x0b\x32\x17.ord.Analysis.DataEntry\x12\x1f\n\x17instrument_manufacturer\x18\x06 \x01(\t\x12\x31\n\x1ainstrument_last_calibrated\x18\x07 \x01(\x0b\x32\r.ord.DateTime\x1a\x36\n\tDataEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x18\n\x05value\x18\x02 \x01(\x0b\x32\t.ord.Data:\x02\x38\x01\"\x80\x02\n\x0c\x41nalysisType\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\n\n\x06\x43USTOM\x10\x01\x12\x06\n\x02LC\x10\x02\x12\x06\n\x02GC\x10\x03\x12\x06\n\x02IR\x10\x04\x12\n\n\x06NMR_1H\x10\x05\x12\x0b\n\x07NMR_13C\x10\x06\x12\r\n\tNMR_OTHER\x10\x07\x12\x06\n\x02MP\x10\x08\x12\x06\n\x02UV\x10\t\x12\x07\n\x03TLC\x10\n\x12\x06\n\x02MS\x10\x0b\x12\x08\n\x04HRMS\x10\x0c\x12\x08\n\x04MSMS\x10\r\x12\n\n\x06WEIGHT\x10\x0e\x12\x08\n\x04LCMS\x10\x0f\x12\x08\n\x04GCMS\x10\x10\x12\x08\n\x04\x45LSD\x10\x11\x12\x06\n\x02\x43\x44\x10\x12\x12\x07\n\x03SFC\x10\x13\x12\x07\n\x03\x45PR\x10\x14\x12\x07\n\x03XRD\x10\x15\x12\t\n\x05RAMAN\x10\x16\x12\x06\n\x02\x45\x44\x10\x17\x42\x19\n\x17_is_of_isolated_species\"\xab\x03\n\x12ReactionProvenance\x12!\n\x0c\x65xperimenter\x18\x01 \x01(\x0b\x32\x0b.ord.Person\x12\x0c\n\x04\x63ity\x18\x02 \x01(\t\x12\'\n\x10\x65xperiment_start\x18\x03 \x01(\x0b\x32\r.ord.DateTime\x12\x0b\n\x03\x64oi\x18\x04 \x01(\t\x12\x0e\n\x06patent\x18\x05 \x01(\t\x12\x17\n\x0fpublication_url\x18\x06 \x01(\t\x12(\n\x0erecord_created\x18\x07 \x01(\x0b\x32\x10.ord.RecordEvent\x12)\n\x0frecord_modified\x18\x08 \x03(\x0b\x32\x10.ord.RecordEvent\x12H\n\x11reaction_metadata\x18\t \x03(\x0b\x32-.ord.ReactionProvenance.ReactionMetadataEntry\x12\x15\n\x08is_mined\x18\n \x01(\x08H\x00\x88\x01\x01\x1a\x42\n\x15ReactionMetadataEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x18\n\x05value\x18\x02 \x01(\x0b\x32\t.ord.Data:\x02\x38\x01\x42\x0b\n\t_is_mined\"\\\n\x06Person\x12\x10\n\x08username\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\r\n\x05orcid\x18\x03 \x01(\t\x12\x14\n\x0corganization\x18\x04 \x01(\t\x12\r\n\x05\x65mail\x18\x05 \x01(\t\"X\n\x0bRecordEvent\x12\x1b\n\x04time\x18\x01 \x01(\x0b\x32\r.ord.DateTime\x12\x1b\n\x06person\x18\x02 \x01(\x0b\x32\x0b.ord.Person\x12\x0f\n\x07\x64\x65tails\x18\x03 \x01(\t\"\xb5\x01\n\x04Time\x12\x12\n\x05value\x18\x01 \x01(\x02H\x00\x88\x01\x01\x12\x16\n\tprecision\x18\x02 \x01(\x02H\x01\x88\x01\x01\x12!\n\x05units\x18\x03 \x01(\x0e\x32\x12.ord.Time.TimeUnit\"F\n\x08TimeUnit\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\x07\n\x03\x44\x41Y\x10\x04\x12\x08\n\x04HOUR\x10\x01\x12\n\n\x06MINUTE\x10\x02\x12\n\n\x06SECOND\x10\x03\x42\x08\n\x06_valueB\x0c\n\n_precision\"\xc0\x01\n\x04Mass\x12\x12\n\x05value\x18\x01 \x01(\x02H\x00\x88\x01\x01\x12\x16\n\tprecision\x18\x02 \x01(\x02H\x01\x88\x01\x01\x12!\n\x05units\x18\x03 \x01(\x0e\x32\x12.ord.Mass.MassUnit\"Q\n\x08MassUnit\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\x0c\n\x08KILOGRAM\x10\x01\x12\x08\n\x04GRAM\x10\x02\x12\r\n\tMILLIGRAM\x10\x03\x12\r\n\tMICROGRAM\x10\x04\x42\x08\n\x06_valueB\x0c\n\n_precision\"\xc4\x01\n\x05Moles\x12\x12\n\x05value\x18\x01 \x01(\x02H\x00\x88\x01\x01\x12\x16\n\tprecision\x18\x02 \x01(\x02H\x01\x88\x01\x01\x12#\n\x05units\x18\x03 \x01(\x0e\x32\x14.ord.Moles.MolesUnit\"R\n\tMolesUnit\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\x08\n\x04MOLE\x10\x01\x12\r\n\tMILLIMOLE\x10\x02\x12\r\n\tMICROMOLE\x10\x03\x12\x0c\n\x08NANOMOLE\x10\x04\x42\x08\n\x06_valueB\x0c\n\n_precision\"\xcc\x01\n\x06Volume\x12\x12\n\x05value\x18\x01 \x01(\x02H\x00\x88\x01\x01\x12\x16\n\tprecision\x18\x02 \x01(\x02H\x01\x88\x01\x01\x12%\n\x05units\x18\x03 \x01(\x0e\x32\x16.ord.Volume.VolumeUnit\"W\n\nVolumeUnit\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\t\n\x05LITER\x10\x01\x12\x0e\n\nMILLILITER\x10\x02\x12\x0e\n\nMICROLITER\x10\x03\x12\r\n\tNANOLITER\x10\x04\x42\x08\n\x06_valueB\x0c\n\n_precision\"\xd9\x01\n\rConcentration\x12\x12\n\x05value\x18\x01 \x01(\x02H\x00\x88\x01\x01\x12\x16\n\tprecision\x18\x02 \x01(\x02H\x01\x88\x01\x01\x12\x33\n\x05units\x18\x03 \x01(\x0e\x32$.ord.Concentration.ConcentrationUnit\"O\n\x11\x43oncentrationUnit\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\t\n\x05MOLAR\x10\x01\x12\x0e\n\nMILLIMOLAR\x10\x02\x12\x0e\n\nMICROMOLAR\x10\x03\x42\x08\n\x06_valueB\x0c\n\n_precision\"\xf7\x01\n\x08Pressure\x12\x12\n\x05value\x18\x01 \x01(\x02H\x00\x88\x01\x01\x12\x16\n\tprecision\x18\x02 \x01(\x02H\x01\x88\x01\x01\x12)\n\x05units\x18\x03 \x01(\x0e\x32\x1a.ord.Pressure.PressureUnit\"|\n\x0cPressureUnit\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\x07\n\x03\x42\x41R\x10\x01\x12\x0e\n\nATMOSPHERE\x10\x02\x12\x07\n\x03PSI\x10\x03\x12\x08\n\x04KPSI\x10\x04\x12\n\n\x06PASCAL\x10\x05\x12\x0e\n\nKILOPASCAL\x10\x06\x12\x08\n\x04TORR\x10\x07\x12\t\n\x05MM_HG\x10\x08\x42\x08\n\x06_valueB\x0c\n\n_precision\"\xcf\x01\n\x0bTemperature\x12\x12\n\x05value\x18\x01 \x01(\x02H\x00\x88\x01\x01\x12\x16\n\tprecision\x18\x02 \x01(\x02H\x01\x88\x01\x01\x12/\n\x05units\x18\x03 \x01(\x0e\x32 .ord.Temperature.TemperatureUnit\"K\n\x0fTemperatureUnit\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\x0b\n\x07\x43\x45LSIUS\x10\x01\x12\x0e\n\nFAHRENHEIT\x10\x02\x12\n\n\x06KELVIN\x10\x03\x42\x08\n\x06_valueB\x0c\n\n_precision\"\xb3\x01\n\x07\x43urrent\x12\x12\n\x05value\x18\x01 \x01(\x02H\x00\x88\x01\x01\x12\x16\n\tprecision\x18\x02 \x01(\x02H\x01\x88\x01\x01\x12\'\n\x05units\x18\x03 \x01(\x0e\x32\x18.ord.Current.CurrentUnit\";\n\x0b\x43urrentUnit\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\n\n\x06\x41MPERE\x10\x01\x12\x0f\n\x0bMILLIAMPERE\x10\x02\x42\x08\n\x06_valueB\x0c\n\n_precision\"\xaf\x01\n\x07Voltage\x12\x12\n\x05value\x18\x01 \x01(\x02H\x00\x88\x01\x01\x12\x16\n\tprecision\x18\x02 \x01(\x02H\x01\x88\x01\x01\x12\'\n\x05units\x18\x03 \x01(\x0e\x32\x18.ord.Voltage.VoltageUnit\"7\n\x0bVoltageUnit\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\x08\n\x04VOLT\x10\x01\x12\r\n\tMILLIVOLT\x10\x02\x42\x08\n\x06_valueB\x0c\n\n_precision\"\xd1\x01\n\x06Length\x12\x12\n\x05value\x18\x01 \x01(\x02H\x00\x88\x01\x01\x12\x16\n\tprecision\x18\x02 \x01(\x02H\x01\x88\x01\x01\x12%\n\x05units\x18\x03 \x01(\x0e\x32\x16.ord.Length.LengthUnit\"\\\n\nLengthUnit\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\x0e\n\nCENTIMETER\x10\x01\x12\x0e\n\nMILLIMETER\x10\x02\x12\t\n\x05METER\x10\x03\x12\x08\n\x04INCH\x10\x04\x12\x08\n\x04\x46OOT\x10\x05\x42\x08\n\x06_valueB\x0c\n\n_precision\"\xc1\x01\n\nWavelength\x12\x12\n\x05value\x18\x01 \x01(\x02H\x00\x88\x01\x01\x12\x16\n\tprecision\x18\x02 \x01(\x02H\x01\x88\x01\x01\x12-\n\x05units\x18\x03 \x01(\x0e\x32\x1e.ord.Wavelength.WavelengthUnit\"@\n\x0eWavelengthUnit\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\r\n\tNANOMETER\x10\x01\x12\x0e\n\nWAVENUMBER\x10\x02\x42\x08\n\x06_valueB\x0c\n\n_precision\"\xa0\x02\n\x08\x46lowRate\x12\x12\n\x05value\x18\x01 \x01(\x02H\x00\x88\x01\x01\x12\x16\n\tprecision\x18\x02 \x01(\x02H\x01\x88\x01\x01\x12)\n\x05units\x18\x03 \x01(\x0e\x32\x1a.ord.FlowRate.FlowRateUnit\"\xa4\x01\n\x0c\x46lowRateUnit\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\x19\n\x15MICROLITER_PER_MINUTE\x10\x01\x12\x19\n\x15MICROLITER_PER_SECOND\x10\x02\x12\x19\n\x15MILLILITER_PER_MINUTE\x10\x03\x12\x19\n\x15MILLILITER_PER_SECOND\x10\x04\x12\x17\n\x13MICROLITER_PER_HOUR\x10\x05\x42\x08\n\x06_valueB\x0c\n\n_precision\"P\n\nPercentage\x12\x12\n\x05value\x18\x01 \x01(\x02H\x00\x88\x01\x01\x12\x16\n\tprecision\x18\x02 \x01(\x02H\x01\x88\x01\x01\x42\x08\n\x06_valueB\x0c\n\n_precision\"P\n\nFloatValue\x12\x12\n\x05value\x18\x01 \x01(\x02H\x00\x88\x01\x01\x12\x16\n\tprecision\x18\x02 \x01(\x02H\x01\x88\x01\x01\x42\x08\n\x06_valueB\x0c\n\n_precision\"\xa1\x01\n\x04\x44\x61ta\x12\x15\n\x0b\x66loat_value\x18\x01 \x01(\x02H\x00\x12\x17\n\rinteger_value\x18\x02 \x01(\x05H\x00\x12\x15\n\x0b\x62ytes_value\x18\x03 \x01(\x0cH\x00\x12\x16\n\x0cstring_value\x18\x04 \x01(\tH\x00\x12\r\n\x03url\x18\x05 \x01(\tH\x00\x12\x13\n\x0b\x64\x65scription\x18\x06 \x01(\t\x12\x0e\n\x06\x66ormat\x18\x07 \x01(\tB\x06\n\x04kindb\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) @@ -60,231 +60,223 @@ _globals['_REACTIONIDENTIFIER_REACTIONIDENTIFIERTYPE']._serialized_start=658 _globals['_REACTIONIDENTIFIER_REACTIONIDENTIFIERTYPE']._serialized_end=798 _globals['_REACTIONINPUT']._serialized_start=815 - _globals['_REACTIONINPUT']._serialized_end=1742 - _globals['_REACTIONINPUT_ADDITIONSPEED']._serialized_start=1310 - _globals['_REACTIONINPUT_ADDITIONSPEED']._serialized_end=1530 - _globals['_REACTIONINPUT_ADDITIONSPEED_ADDITIONSPEEDTYPE']._serialized_start=1410 - _globals['_REACTIONINPUT_ADDITIONSPEED_ADDITIONSPEEDTYPE']._serialized_end=1530 - _globals['_REACTIONINPUT_ADDITIONDEVICE']._serialized_start=1533 - _globals['_REACTIONINPUT_ADDITIONDEVICE']._serialized_end=1742 - _globals['_REACTIONINPUT_ADDITIONDEVICE_ADDITIONDEVICETYPE']._serialized_start=1636 - _globals['_REACTIONINPUT_ADDITIONDEVICE_ADDITIONDEVICETYPE']._serialized_end=1742 - _globals['_AMOUNT']._serialized_start=1745 - _globals['_AMOUNT']._serialized_end=1959 - _globals['_UNMEASUREDAMOUNT']._serialized_start=1962 - _globals['_UNMEASUREDAMOUNT']._serialized_end=2152 - _globals['_UNMEASUREDAMOUNT_UNMEASUREDAMOUNTTYPE']._serialized_start=2057 - _globals['_UNMEASUREDAMOUNT_UNMEASUREDAMOUNTTYPE']._serialized_end=2152 - _globals['_CRUDECOMPONENT']._serialized_start=2155 - _globals['_CRUDECOMPONENT']._serialized_end=2426 - _globals['_COMPOUND']._serialized_start=2429 - _globals['_COMPOUND']._serialized_end=3077 - _globals['_COMPOUND_SOURCE']._serialized_start=2880 - _globals['_COMPOUND_SOURCE']._serialized_end=2937 - _globals['_COMPOUND_FEATURESENTRY']._serialized_start=2939 - _globals['_COMPOUND_FEATURESENTRY']._serialized_end=2997 - _globals['_COMPOUND_ANALYSESENTRY']._serialized_start=2999 - _globals['_COMPOUND_ANALYSESENTRY']._serialized_end=3061 - _globals['_STATEOFMATTER']._serialized_start=3079 - _globals['_STATEOFMATTER']._serialized_end=3176 - _globals['_STATEOFMATTER_STATEOFMATTERTYPE']._serialized_start=3096 - _globals['_STATEOFMATTER_STATEOFMATTERTYPE']._serialized_end=3176 - _globals['_MIXTUREDESCRIPTION']._serialized_start=3179 - _globals['_MIXTUREDESCRIPTION']._serialized_end=3380 - _globals['_MIXTUREDESCRIPTION_MIXTURETYPE']._serialized_start=3269 - _globals['_MIXTUREDESCRIPTION_MIXTURETYPE']._serialized_end=3380 - _globals['_REACTIONROLE']._serialized_start=3383 - _globals['_REACTIONROLE']._serialized_end=3594 - _globals['_REACTIONROLE_REACTIONROLETYPE']._serialized_start=3400 - _globals['_REACTIONROLE_REACTIONROLETYPE']._serialized_end=3594 - _globals['_COMPOUNDPREPARATION']._serialized_start=3597 - _globals['_COMPOUNDPREPARATION']._serialized_end=3843 - _globals['_COMPOUNDPREPARATION_COMPOUNDPREPARATIONTYPE']._serialized_start=3722 - _globals['_COMPOUNDPREPARATION_COMPOUNDPREPARATIONTYPE']._serialized_end=3843 - _globals['_COMPOUNDIDENTIFIER']._serialized_start=3846 - _globals['_COMPOUNDIDENTIFIER']._serialized_end=4232 - _globals['_COMPOUNDIDENTIFIER_COMPOUNDIDENTIFIERTYPE']._serialized_start=3963 - _globals['_COMPOUNDIDENTIFIER_COMPOUNDIDENTIFIERTYPE']._serialized_end=4232 - _globals['_VESSEL']._serialized_start=4235 - _globals['_VESSEL']._serialized_end=4786 - _globals['_VESSEL_VESSELTYPE']._serialized_start=4522 - _globals['_VESSEL_VESSELTYPE']._serialized_end=4786 - _globals['_VESSELMATERIAL']._serialized_start=4789 - _globals['_VESSELMATERIAL']._serialized_end=4993 - _globals['_VESSELMATERIAL_VESSELMATERIALTYPE']._serialized_start=4878 - _globals['_VESSELMATERIAL_VESSELMATERIALTYPE']._serialized_end=4993 - _globals['_VESSELATTACHMENT']._serialized_start=4996 - _globals['_VESSELATTACHMENT']._serialized_end=5403 - _globals['_VESSELATTACHMENT_VESSELATTACHMENTTYPE']._serialized_start=5092 - _globals['_VESSELATTACHMENT_VESSELATTACHMENTTYPE']._serialized_end=5403 - _globals['_VESSELPREPARATION']._serialized_start=5406 - _globals['_VESSELPREPARATION']._serialized_end=5638 - _globals['_VESSELPREPARATION_VESSELPREPARATIONTYPE']._serialized_start=5505 - _globals['_VESSELPREPARATION_VESSELPREPARATIONTYPE']._serialized_end=5638 - _globals['_REACTIONSETUP']._serialized_start=5641 - _globals['_REACTIONSETUP']._serialized_end=6185 - _globals['_REACTIONSETUP_AUTOMATIONCODEENTRY']._serialized_start=5869 - _globals['_REACTIONSETUP_AUTOMATIONCODEENTRY']._serialized_end=5933 - _globals['_REACTIONSETUP_REACTIONENVIRONMENT']._serialized_start=5936 - _globals['_REACTIONSETUP_REACTIONENVIRONMENT']._serialized_end=6168 - _globals['_REACTIONSETUP_REACTIONENVIRONMENT_REACTIONENVIRONMENTTYPE']._serialized_start=6054 - _globals['_REACTIONSETUP_REACTIONENVIRONMENT_REACTIONENVIRONMENTTYPE']._serialized_end=6168 - _globals['_REACTIONCONDITIONS']._serialized_start=6188 - _globals['_REACTIONCONDITIONS']._serialized_end=6625 - _globals['_TEMPERATURECONDITIONS']._serialized_start=6628 - _globals['_TEMPERATURECONDITIONS']._serialized_end=7494 - _globals['_TEMPERATURECONDITIONS_TEMPERATURECONTROL']._serialized_start=6827 - _globals['_TEMPERATURECONDITIONS_TEMPERATURECONTROL']._serialized_end=7167 - _globals['_TEMPERATURECONDITIONS_TEMPERATURECONTROL_TEMPERATURECONTROLTYPE']._serialized_start=6951 - _globals['_TEMPERATURECONDITIONS_TEMPERATURECONTROL_TEMPERATURECONTROLTYPE']._serialized_end=7167 - _globals['_TEMPERATURECONDITIONS_TEMPERATUREMEASUREMENT']._serialized_start=7170 - _globals['_TEMPERATURECONDITIONS_TEMPERATUREMEASUREMENT']._serialized_end=7494 - _globals['_TEMPERATURECONDITIONS_TEMPERATUREMEASUREMENT_TEMPERATUREMEASUREMENTTYPE']._serialized_start=7369 - _globals['_TEMPERATURECONDITIONS_TEMPERATUREMEASUREMENT_TEMPERATUREMEASUREMENTTYPE']._serialized_end=7494 - _globals['_PRESSURECONDITIONS']._serialized_start=7497 - _globals['_PRESSURECONDITIONS']._serialized_end=8533 - _globals['_PRESSURECONDITIONS_PRESSURECONTROL']._serialized_start=7734 - _globals['_PRESSURECONDITIONS_PRESSURECONTROL']._serialized_end=7958 - _globals['_PRESSURECONDITIONS_PRESSURECONTROL_PRESSURECONTROLTYPE']._serialized_start=7845 - _globals['_PRESSURECONDITIONS_PRESSURECONTROL_PRESSURECONTROLTYPE']._serialized_end=7958 - _globals['_PRESSURECONDITIONS_ATMOSPHERE']._serialized_start=7961 - _globals['_PRESSURECONDITIONS_ATMOSPHERE']._serialized_end=8270 - _globals['_PRESSURECONDITIONS_ATMOSPHERE_ATMOSPHERETYPE']._serialized_start=8058 - _globals['_PRESSURECONDITIONS_ATMOSPHERE_ATMOSPHERETYPE']._serialized_end=8270 - _globals['_PRESSURECONDITIONS_PRESSUREMEASUREMENT']._serialized_start=8273 - _globals['_PRESSURECONDITIONS_PRESSUREMEASUREMENT']._serialized_end=8533 - _globals['_PRESSURECONDITIONS_PRESSUREMEASUREMENT_PRESSUREMEASUREMENTTYPE']._serialized_start=8454 - _globals['_PRESSURECONDITIONS_PRESSUREMEASUREMENT_PRESSUREMEASUREMENTTYPE']._serialized_end=8533 - _globals['_STIRRINGCONDITIONS']._serialized_start=8536 - _globals['_STIRRINGCONDITIONS']._serialized_end=9012 - _globals['_STIRRINGCONDITIONS_STIRRINGRATE']._serialized_start=8686 - _globals['_STIRRINGCONDITIONS_STIRRINGRATE']._serialized_end=8867 - _globals['_STIRRINGCONDITIONS_STIRRINGRATE_STIRRINGRATETYPE']._serialized_start=8801 - _globals['_STIRRINGCONDITIONS_STIRRINGRATE_STIRRINGRATETYPE']._serialized_end=8867 - _globals['_STIRRINGCONDITIONS_STIRRINGMETHODTYPE']._serialized_start=8870 - _globals['_STIRRINGCONDITIONS_STIRRINGMETHODTYPE']._serialized_end=9012 - _globals['_ILLUMINATIONCONDITIONS']._serialized_start=9015 - _globals['_ILLUMINATIONCONDITIONS']._serialized_end=9375 - _globals['_ILLUMINATIONCONDITIONS_ILLUMINATIONTYPE']._serialized_start=9217 - _globals['_ILLUMINATIONCONDITIONS_ILLUMINATIONTYPE']._serialized_end=9375 - _globals['_ELECTROCHEMISTRYCONDITIONS']._serialized_start=9378 - _globals['_ELECTROCHEMISTRYCONDITIONS']._serialized_end=10242 - _globals['_ELECTROCHEMISTRYCONDITIONS_ELECTROCHEMISTRYMEASUREMENT']._serialized_start=9799 - _globals['_ELECTROCHEMISTRYCONDITIONS_ELECTROCHEMISTRYMEASUREMENT']._serialized_end=9915 - _globals['_ELECTROCHEMISTRYCONDITIONS_ELECTROCHEMISTRYCELL']._serialized_start=9918 - _globals['_ELECTROCHEMISTRYCONDITIONS_ELECTROCHEMISTRYCELL']._serialized_end=10145 - _globals['_ELECTROCHEMISTRYCONDITIONS_ELECTROCHEMISTRYCELL_ELECTROCHEMISTRYCELLTYPE']._serialized_start=10052 - _globals['_ELECTROCHEMISTRYCONDITIONS_ELECTROCHEMISTRYCELL_ELECTROCHEMISTRYCELLTYPE']._serialized_end=10145 - _globals['_ELECTROCHEMISTRYCONDITIONS_ELECTROCHEMISTRYTYPE']._serialized_start=10147 - _globals['_ELECTROCHEMISTRYCONDITIONS_ELECTROCHEMISTRYTYPE']._serialized_end=10242 - _globals['_FLOWCONDITIONS']._serialized_start=10245 - _globals['_FLOWCONDITIONS']._serialized_end=10777 - _globals['_FLOWCONDITIONS_TUBING']._serialized_start=10388 - _globals['_FLOWCONDITIONS_TUBING']._serialized_end=10652 - _globals['_FLOWCONDITIONS_TUBING_TUBINGTYPE']._serialized_start=10500 - _globals['_FLOWCONDITIONS_TUBING_TUBINGTYPE']._serialized_end=10652 - _globals['_FLOWCONDITIONS_FLOWTYPE']._serialized_start=10654 - _globals['_FLOWCONDITIONS_FLOWTYPE']._serialized_end=10777 - _globals['_REACTIONNOTES']._serialized_start=10780 - _globals['_REACTIONNOTES']._serialized_end=11228 - _globals['_REACTIONOBSERVATION']._serialized_start=11230 - _globals['_REACTIONOBSERVATION']._serialized_end=11319 - _globals['_REACTIONWORKUP']._serialized_start=11322 - _globals['_REACTIONWORKUP']._serialized_end=12037 - _globals['_REACTIONWORKUP_REACTIONWORKUPTYPE']._serialized_start=11668 - _globals['_REACTIONWORKUP_REACTIONWORKUPTYPE']._serialized_end=12006 - _globals['_REACTIONOUTCOME']._serialized_start=12040 - _globals['_REACTIONOUTCOME']._serialized_end=12286 - _globals['_REACTIONOUTCOME_ANALYSESENTRY']._serialized_start=2999 - _globals['_REACTIONOUTCOME_ANALYSESENTRY']._serialized_end=3061 - _globals['_PRODUCTCOMPOUND']._serialized_start=12289 - _globals['_PRODUCTCOMPOUND']._serialized_end=12942 - _globals['_PRODUCTCOMPOUND_TEXTURE']._serialized_start=12619 - _globals['_PRODUCTCOMPOUND_TEXTURE']._serialized_end=12859 - _globals['_PRODUCTCOMPOUND_TEXTURE_TEXTURETYPE']._serialized_start=12704 - _globals['_PRODUCTCOMPOUND_TEXTURE_TEXTURETYPE']._serialized_end=12859 - _globals['_PRODUCTCOMPOUND_FEATURESENTRY']._serialized_start=2939 - _globals['_PRODUCTCOMPOUND_FEATURESENTRY']._serialized_end=2997 - _globals['_PRODUCTMEASUREMENT']._serialized_start=12945 - _globals['_PRODUCTMEASUREMENT']._serialized_end=14348 - _globals['_PRODUCTMEASUREMENT_MASSSPECMEASUREMENTDETAILS']._serialized_start=13558 - _globals['_PRODUCTMEASUREMENT_MASSSPECMEASUREMENTDETAILS']._serialized_end=13919 - _globals['_PRODUCTMEASUREMENT_MASSSPECMEASUREMENTDETAILS_MASSSPECMEASUREMENTTYPE']._serialized_start=13773 - _globals['_PRODUCTMEASUREMENT_MASSSPECMEASUREMENTDETAILS_MASSSPECMEASUREMENTTYPE']._serialized_end=13881 - _globals['_PRODUCTMEASUREMENT_SELECTIVITY']._serialized_start=13922 - _globals['_PRODUCTMEASUREMENT_SELECTIVITY']._serialized_end=14107 - _globals['_PRODUCTMEASUREMENT_SELECTIVITY_SELECTIVITYTYPE']._serialized_start=14021 - _globals['_PRODUCTMEASUREMENT_SELECTIVITY_SELECTIVITYTYPE']._serialized_end=14107 - _globals['_PRODUCTMEASUREMENT_PRODUCTMEASUREMENTTYPE']._serialized_start=14110 - _globals['_PRODUCTMEASUREMENT_PRODUCTMEASUREMENTTYPE']._serialized_end=14266 - _globals['_DATETIME']._serialized_start=14350 - _globals['_DATETIME']._serialized_end=14375 - _globals['_ANALYSIS']._serialized_start=14378 - _globals['_ANALYSIS']._serialized_end=14966 - _globals['_ANALYSIS_DATAENTRY']._serialized_start=14626 - _globals['_ANALYSIS_DATAENTRY']._serialized_end=14680 - _globals['_ANALYSIS_ANALYSISTYPE']._serialized_start=14683 - _globals['_ANALYSIS_ANALYSISTYPE']._serialized_end=14939 - _globals['_REACTIONPROVENANCE']._serialized_start=14969 - _globals['_REACTIONPROVENANCE']._serialized_end=15396 - _globals['_REACTIONPROVENANCE_REACTIONMETADATAENTRY']._serialized_start=15317 - _globals['_REACTIONPROVENANCE_REACTIONMETADATAENTRY']._serialized_end=15383 - _globals['_PERSON']._serialized_start=15398 - _globals['_PERSON']._serialized_end=15490 - _globals['_RECORDEVENT']._serialized_start=15492 - _globals['_RECORDEVENT']._serialized_end=15580 - _globals['_TIME']._serialized_start=15583 - _globals['_TIME']._serialized_end=15764 - _globals['_TIME_TIMEUNIT']._serialized_start=15670 - _globals['_TIME_TIMEUNIT']._serialized_end=15740 - _globals['_MASS']._serialized_start=15767 - _globals['_MASS']._serialized_end=15959 - _globals['_MASS_MASSUNIT']._serialized_start=15854 - _globals['_MASS_MASSUNIT']._serialized_end=15935 - _globals['_MOLES']._serialized_start=15962 - _globals['_MOLES']._serialized_end=16158 - _globals['_MOLES_MOLESUNIT']._serialized_start=16052 - _globals['_MOLES_MOLESUNIT']._serialized_end=16134 - _globals['_VOLUME']._serialized_start=16161 - _globals['_VOLUME']._serialized_end=16365 - _globals['_VOLUME_VOLUMEUNIT']._serialized_start=16254 - _globals['_VOLUME_VOLUMEUNIT']._serialized_end=16341 - _globals['_CONCENTRATION']._serialized_start=16368 - _globals['_CONCENTRATION']._serialized_end=16585 - _globals['_CONCENTRATION_CONCENTRATIONUNIT']._serialized_start=16482 - _globals['_CONCENTRATION_CONCENTRATIONUNIT']._serialized_end=16561 - _globals['_PRESSURE']._serialized_start=16588 - _globals['_PRESSURE']._serialized_end=16835 - _globals['_PRESSURE_PRESSUREUNIT']._serialized_start=16687 - _globals['_PRESSURE_PRESSUREUNIT']._serialized_end=16811 - _globals['_TEMPERATURE']._serialized_start=16838 - _globals['_TEMPERATURE']._serialized_end=17045 - _globals['_TEMPERATURE_TEMPERATUREUNIT']._serialized_start=16946 - _globals['_TEMPERATURE_TEMPERATUREUNIT']._serialized_end=17021 - _globals['_CURRENT']._serialized_start=17048 - _globals['_CURRENT']._serialized_end=17227 - _globals['_CURRENT_CURRENTUNIT']._serialized_start=17144 - _globals['_CURRENT_CURRENTUNIT']._serialized_end=17203 - _globals['_VOLTAGE']._serialized_start=17230 - _globals['_VOLTAGE']._serialized_end=17405 - _globals['_VOLTAGE_VOLTAGEUNIT']._serialized_start=17326 - _globals['_VOLTAGE_VOLTAGEUNIT']._serialized_end=17381 - _globals['_LENGTH']._serialized_start=17408 - _globals['_LENGTH']._serialized_end=17617 - _globals['_LENGTH_LENGTHUNIT']._serialized_start=17501 - _globals['_LENGTH_LENGTHUNIT']._serialized_end=17593 - _globals['_WAVELENGTH']._serialized_start=17620 - _globals['_WAVELENGTH']._serialized_end=17813 - _globals['_WAVELENGTH_WAVELENGTHUNIT']._serialized_start=17725 - _globals['_WAVELENGTH_WAVELENGTHUNIT']._serialized_end=17789 - _globals['_FLOWRATE']._serialized_start=17816 - _globals['_FLOWRATE']._serialized_end=18104 - _globals['_FLOWRATE_FLOWRATEUNIT']._serialized_start=17916 - _globals['_FLOWRATE_FLOWRATEUNIT']._serialized_end=18080 - _globals['_PERCENTAGE']._serialized_start=18106 - _globals['_PERCENTAGE']._serialized_end=18186 - _globals['_FLOATVALUE']._serialized_start=18188 - _globals['_FLOATVALUE']._serialized_end=18268 - _globals['_DATA']._serialized_start=18271 - _globals['_DATA']._serialized_end=18432 + _globals['_REACTIONINPUT']._serialized_end=1690 + _globals['_REACTIONINPUT_ADDITIONSPEED']._serialized_start=1258 + _globals['_REACTIONINPUT_ADDITIONSPEED']._serialized_end=1478 + _globals['_REACTIONINPUT_ADDITIONSPEED_ADDITIONSPEEDTYPE']._serialized_start=1358 + _globals['_REACTIONINPUT_ADDITIONSPEED_ADDITIONSPEEDTYPE']._serialized_end=1478 + _globals['_REACTIONINPUT_ADDITIONDEVICE']._serialized_start=1481 + _globals['_REACTIONINPUT_ADDITIONDEVICE']._serialized_end=1690 + _globals['_REACTIONINPUT_ADDITIONDEVICE_ADDITIONDEVICETYPE']._serialized_start=1584 + _globals['_REACTIONINPUT_ADDITIONDEVICE_ADDITIONDEVICETYPE']._serialized_end=1690 + _globals['_AMOUNT']._serialized_start=1693 + _globals['_AMOUNT']._serialized_end=1907 + _globals['_UNMEASUREDAMOUNT']._serialized_start=1910 + _globals['_UNMEASUREDAMOUNT']._serialized_end=2100 + _globals['_UNMEASUREDAMOUNT_UNMEASUREDAMOUNTTYPE']._serialized_start=2005 + _globals['_UNMEASUREDAMOUNT_UNMEASUREDAMOUNTTYPE']._serialized_end=2100 + _globals['_CRUDECOMPONENT']._serialized_start=2103 + _globals['_CRUDECOMPONENT']._serialized_end=2322 + _globals['_COMPOUND']._serialized_start=2325 + _globals['_COMPOUND']._serialized_end=2921 + _globals['_COMPOUND_SOURCE']._serialized_start=2724 + _globals['_COMPOUND_SOURCE']._serialized_end=2781 + _globals['_COMPOUND_FEATURESENTRY']._serialized_start=2783 + _globals['_COMPOUND_FEATURESENTRY']._serialized_end=2841 + _globals['_COMPOUND_ANALYSESENTRY']._serialized_start=2843 + _globals['_COMPOUND_ANALYSESENTRY']._serialized_end=2905 + _globals['_REACTIONROLE']._serialized_start=2924 + _globals['_REACTIONROLE']._serialized_end=3135 + _globals['_REACTIONROLE_REACTIONROLETYPE']._serialized_start=2941 + _globals['_REACTIONROLE_REACTIONROLETYPE']._serialized_end=3135 + _globals['_COMPOUNDPREPARATION']._serialized_start=3138 + _globals['_COMPOUNDPREPARATION']._serialized_end=3384 + _globals['_COMPOUNDPREPARATION_COMPOUNDPREPARATIONTYPE']._serialized_start=3263 + _globals['_COMPOUNDPREPARATION_COMPOUNDPREPARATIONTYPE']._serialized_end=3384 + _globals['_COMPOUNDIDENTIFIER']._serialized_start=3387 + _globals['_COMPOUNDIDENTIFIER']._serialized_end=3773 + _globals['_COMPOUNDIDENTIFIER_COMPOUNDIDENTIFIERTYPE']._serialized_start=3504 + _globals['_COMPOUNDIDENTIFIER_COMPOUNDIDENTIFIERTYPE']._serialized_end=3773 + _globals['_VESSEL']._serialized_start=3776 + _globals['_VESSEL']._serialized_end=4327 + _globals['_VESSEL_VESSELTYPE']._serialized_start=4063 + _globals['_VESSEL_VESSELTYPE']._serialized_end=4327 + _globals['_VESSELMATERIAL']._serialized_start=4330 + _globals['_VESSELMATERIAL']._serialized_end=4534 + _globals['_VESSELMATERIAL_VESSELMATERIALTYPE']._serialized_start=4419 + _globals['_VESSELMATERIAL_VESSELMATERIALTYPE']._serialized_end=4534 + _globals['_VESSELATTACHMENT']._serialized_start=4537 + _globals['_VESSELATTACHMENT']._serialized_end=4944 + _globals['_VESSELATTACHMENT_VESSELATTACHMENTTYPE']._serialized_start=4633 + _globals['_VESSELATTACHMENT_VESSELATTACHMENTTYPE']._serialized_end=4944 + _globals['_VESSELPREPARATION']._serialized_start=4947 + _globals['_VESSELPREPARATION']._serialized_end=5179 + _globals['_VESSELPREPARATION_VESSELPREPARATIONTYPE']._serialized_start=5046 + _globals['_VESSELPREPARATION_VESSELPREPARATIONTYPE']._serialized_end=5179 + _globals['_REACTIONSETUP']._serialized_start=5182 + _globals['_REACTIONSETUP']._serialized_end=5726 + _globals['_REACTIONSETUP_AUTOMATIONCODEENTRY']._serialized_start=5410 + _globals['_REACTIONSETUP_AUTOMATIONCODEENTRY']._serialized_end=5474 + _globals['_REACTIONSETUP_REACTIONENVIRONMENT']._serialized_start=5477 + _globals['_REACTIONSETUP_REACTIONENVIRONMENT']._serialized_end=5709 + _globals['_REACTIONSETUP_REACTIONENVIRONMENT_REACTIONENVIRONMENTTYPE']._serialized_start=5595 + _globals['_REACTIONSETUP_REACTIONENVIRONMENT_REACTIONENVIRONMENTTYPE']._serialized_end=5709 + _globals['_REACTIONCONDITIONS']._serialized_start=5729 + _globals['_REACTIONCONDITIONS']._serialized_end=6166 + _globals['_TEMPERATURECONDITIONS']._serialized_start=6169 + _globals['_TEMPERATURECONDITIONS']._serialized_end=7035 + _globals['_TEMPERATURECONDITIONS_TEMPERATURECONTROL']._serialized_start=6368 + _globals['_TEMPERATURECONDITIONS_TEMPERATURECONTROL']._serialized_end=6708 + _globals['_TEMPERATURECONDITIONS_TEMPERATURECONTROL_TEMPERATURECONTROLTYPE']._serialized_start=6492 + _globals['_TEMPERATURECONDITIONS_TEMPERATURECONTROL_TEMPERATURECONTROLTYPE']._serialized_end=6708 + _globals['_TEMPERATURECONDITIONS_TEMPERATUREMEASUREMENT']._serialized_start=6711 + _globals['_TEMPERATURECONDITIONS_TEMPERATUREMEASUREMENT']._serialized_end=7035 + _globals['_TEMPERATURECONDITIONS_TEMPERATUREMEASUREMENT_TEMPERATUREMEASUREMENTTYPE']._serialized_start=6910 + _globals['_TEMPERATURECONDITIONS_TEMPERATUREMEASUREMENT_TEMPERATUREMEASUREMENTTYPE']._serialized_end=7035 + _globals['_PRESSURECONDITIONS']._serialized_start=7038 + _globals['_PRESSURECONDITIONS']._serialized_end=8074 + _globals['_PRESSURECONDITIONS_PRESSURECONTROL']._serialized_start=7275 + _globals['_PRESSURECONDITIONS_PRESSURECONTROL']._serialized_end=7499 + _globals['_PRESSURECONDITIONS_PRESSURECONTROL_PRESSURECONTROLTYPE']._serialized_start=7386 + _globals['_PRESSURECONDITIONS_PRESSURECONTROL_PRESSURECONTROLTYPE']._serialized_end=7499 + _globals['_PRESSURECONDITIONS_ATMOSPHERE']._serialized_start=7502 + _globals['_PRESSURECONDITIONS_ATMOSPHERE']._serialized_end=7811 + _globals['_PRESSURECONDITIONS_ATMOSPHERE_ATMOSPHERETYPE']._serialized_start=7599 + _globals['_PRESSURECONDITIONS_ATMOSPHERE_ATMOSPHERETYPE']._serialized_end=7811 + _globals['_PRESSURECONDITIONS_PRESSUREMEASUREMENT']._serialized_start=7814 + _globals['_PRESSURECONDITIONS_PRESSUREMEASUREMENT']._serialized_end=8074 + _globals['_PRESSURECONDITIONS_PRESSUREMEASUREMENT_PRESSUREMEASUREMENTTYPE']._serialized_start=7995 + _globals['_PRESSURECONDITIONS_PRESSUREMEASUREMENT_PRESSUREMEASUREMENTTYPE']._serialized_end=8074 + _globals['_STIRRINGCONDITIONS']._serialized_start=8077 + _globals['_STIRRINGCONDITIONS']._serialized_end=8553 + _globals['_STIRRINGCONDITIONS_STIRRINGRATE']._serialized_start=8227 + _globals['_STIRRINGCONDITIONS_STIRRINGRATE']._serialized_end=8408 + _globals['_STIRRINGCONDITIONS_STIRRINGRATE_STIRRINGRATETYPE']._serialized_start=8342 + _globals['_STIRRINGCONDITIONS_STIRRINGRATE_STIRRINGRATETYPE']._serialized_end=8408 + _globals['_STIRRINGCONDITIONS_STIRRINGMETHODTYPE']._serialized_start=8411 + _globals['_STIRRINGCONDITIONS_STIRRINGMETHODTYPE']._serialized_end=8553 + _globals['_ILLUMINATIONCONDITIONS']._serialized_start=8556 + _globals['_ILLUMINATIONCONDITIONS']._serialized_end=8916 + _globals['_ILLUMINATIONCONDITIONS_ILLUMINATIONTYPE']._serialized_start=8758 + _globals['_ILLUMINATIONCONDITIONS_ILLUMINATIONTYPE']._serialized_end=8916 + _globals['_ELECTROCHEMISTRYCONDITIONS']._serialized_start=8919 + _globals['_ELECTROCHEMISTRYCONDITIONS']._serialized_end=9783 + _globals['_ELECTROCHEMISTRYCONDITIONS_ELECTROCHEMISTRYMEASUREMENT']._serialized_start=9340 + _globals['_ELECTROCHEMISTRYCONDITIONS_ELECTROCHEMISTRYMEASUREMENT']._serialized_end=9456 + _globals['_ELECTROCHEMISTRYCONDITIONS_ELECTROCHEMISTRYCELL']._serialized_start=9459 + _globals['_ELECTROCHEMISTRYCONDITIONS_ELECTROCHEMISTRYCELL']._serialized_end=9686 + _globals['_ELECTROCHEMISTRYCONDITIONS_ELECTROCHEMISTRYCELL_ELECTROCHEMISTRYCELLTYPE']._serialized_start=9593 + _globals['_ELECTROCHEMISTRYCONDITIONS_ELECTROCHEMISTRYCELL_ELECTROCHEMISTRYCELLTYPE']._serialized_end=9686 + _globals['_ELECTROCHEMISTRYCONDITIONS_ELECTROCHEMISTRYTYPE']._serialized_start=9688 + _globals['_ELECTROCHEMISTRYCONDITIONS_ELECTROCHEMISTRYTYPE']._serialized_end=9783 + _globals['_FLOWCONDITIONS']._serialized_start=9786 + _globals['_FLOWCONDITIONS']._serialized_end=10318 + _globals['_FLOWCONDITIONS_TUBING']._serialized_start=9929 + _globals['_FLOWCONDITIONS_TUBING']._serialized_end=10193 + _globals['_FLOWCONDITIONS_TUBING_TUBINGTYPE']._serialized_start=10041 + _globals['_FLOWCONDITIONS_TUBING_TUBINGTYPE']._serialized_end=10193 + _globals['_FLOWCONDITIONS_FLOWTYPE']._serialized_start=10195 + _globals['_FLOWCONDITIONS_FLOWTYPE']._serialized_end=10318 + _globals['_REACTIONNOTES']._serialized_start=10321 + _globals['_REACTIONNOTES']._serialized_end=10769 + _globals['_REACTIONOBSERVATION']._serialized_start=10771 + _globals['_REACTIONOBSERVATION']._serialized_end=10860 + _globals['_REACTIONWORKUP']._serialized_start=10863 + _globals['_REACTIONWORKUP']._serialized_end=11578 + _globals['_REACTIONWORKUP_REACTIONWORKUPTYPE']._serialized_start=11209 + _globals['_REACTIONWORKUP_REACTIONWORKUPTYPE']._serialized_end=11547 + _globals['_REACTIONOUTCOME']._serialized_start=11581 + _globals['_REACTIONOUTCOME']._serialized_end=11827 + _globals['_REACTIONOUTCOME_ANALYSESENTRY']._serialized_start=2843 + _globals['_REACTIONOUTCOME_ANALYSESENTRY']._serialized_end=2905 + _globals['_PRODUCTCOMPOUND']._serialized_start=11830 + _globals['_PRODUCTCOMPOUND']._serialized_end=12492 + _globals['_PRODUCTCOMPOUND_TEXTURE']._serialized_start=12160 + _globals['_PRODUCTCOMPOUND_TEXTURE']._serialized_end=12409 + _globals['_PRODUCTCOMPOUND_TEXTURE_TEXTURETYPE']._serialized_start=12245 + _globals['_PRODUCTCOMPOUND_TEXTURE_TEXTURETYPE']._serialized_end=12409 + _globals['_PRODUCTCOMPOUND_FEATURESENTRY']._serialized_start=2783 + _globals['_PRODUCTCOMPOUND_FEATURESENTRY']._serialized_end=2841 + _globals['_PRODUCTMEASUREMENT']._serialized_start=12495 + _globals['_PRODUCTMEASUREMENT']._serialized_end=13898 + _globals['_PRODUCTMEASUREMENT_MASSSPECMEASUREMENTDETAILS']._serialized_start=13108 + _globals['_PRODUCTMEASUREMENT_MASSSPECMEASUREMENTDETAILS']._serialized_end=13469 + _globals['_PRODUCTMEASUREMENT_MASSSPECMEASUREMENTDETAILS_MASSSPECMEASUREMENTTYPE']._serialized_start=13323 + _globals['_PRODUCTMEASUREMENT_MASSSPECMEASUREMENTDETAILS_MASSSPECMEASUREMENTTYPE']._serialized_end=13431 + _globals['_PRODUCTMEASUREMENT_SELECTIVITY']._serialized_start=13472 + _globals['_PRODUCTMEASUREMENT_SELECTIVITY']._serialized_end=13657 + _globals['_PRODUCTMEASUREMENT_SELECTIVITY_SELECTIVITYTYPE']._serialized_start=13571 + _globals['_PRODUCTMEASUREMENT_SELECTIVITY_SELECTIVITYTYPE']._serialized_end=13657 + _globals['_PRODUCTMEASUREMENT_PRODUCTMEASUREMENTTYPE']._serialized_start=13660 + _globals['_PRODUCTMEASUREMENT_PRODUCTMEASUREMENTTYPE']._serialized_end=13816 + _globals['_DATETIME']._serialized_start=13900 + _globals['_DATETIME']._serialized_end=13925 + _globals['_ANALYSIS']._serialized_start=13928 + _globals['_ANALYSIS']._serialized_end=14516 + _globals['_ANALYSIS_DATAENTRY']._serialized_start=14176 + _globals['_ANALYSIS_DATAENTRY']._serialized_end=14230 + _globals['_ANALYSIS_ANALYSISTYPE']._serialized_start=14233 + _globals['_ANALYSIS_ANALYSISTYPE']._serialized_end=14489 + _globals['_REACTIONPROVENANCE']._serialized_start=14519 + _globals['_REACTIONPROVENANCE']._serialized_end=14946 + _globals['_REACTIONPROVENANCE_REACTIONMETADATAENTRY']._serialized_start=14867 + _globals['_REACTIONPROVENANCE_REACTIONMETADATAENTRY']._serialized_end=14933 + _globals['_PERSON']._serialized_start=14948 + _globals['_PERSON']._serialized_end=15040 + _globals['_RECORDEVENT']._serialized_start=15042 + _globals['_RECORDEVENT']._serialized_end=15130 + _globals['_TIME']._serialized_start=15133 + _globals['_TIME']._serialized_end=15314 + _globals['_TIME_TIMEUNIT']._serialized_start=15220 + _globals['_TIME_TIMEUNIT']._serialized_end=15290 + _globals['_MASS']._serialized_start=15317 + _globals['_MASS']._serialized_end=15509 + _globals['_MASS_MASSUNIT']._serialized_start=15404 + _globals['_MASS_MASSUNIT']._serialized_end=15485 + _globals['_MOLES']._serialized_start=15512 + _globals['_MOLES']._serialized_end=15708 + _globals['_MOLES_MOLESUNIT']._serialized_start=15602 + _globals['_MOLES_MOLESUNIT']._serialized_end=15684 + _globals['_VOLUME']._serialized_start=15711 + _globals['_VOLUME']._serialized_end=15915 + _globals['_VOLUME_VOLUMEUNIT']._serialized_start=15804 + _globals['_VOLUME_VOLUMEUNIT']._serialized_end=15891 + _globals['_CONCENTRATION']._serialized_start=15918 + _globals['_CONCENTRATION']._serialized_end=16135 + _globals['_CONCENTRATION_CONCENTRATIONUNIT']._serialized_start=16032 + _globals['_CONCENTRATION_CONCENTRATIONUNIT']._serialized_end=16111 + _globals['_PRESSURE']._serialized_start=16138 + _globals['_PRESSURE']._serialized_end=16385 + _globals['_PRESSURE_PRESSUREUNIT']._serialized_start=16237 + _globals['_PRESSURE_PRESSUREUNIT']._serialized_end=16361 + _globals['_TEMPERATURE']._serialized_start=16388 + _globals['_TEMPERATURE']._serialized_end=16595 + _globals['_TEMPERATURE_TEMPERATUREUNIT']._serialized_start=16496 + _globals['_TEMPERATURE_TEMPERATUREUNIT']._serialized_end=16571 + _globals['_CURRENT']._serialized_start=16598 + _globals['_CURRENT']._serialized_end=16777 + _globals['_CURRENT_CURRENTUNIT']._serialized_start=16694 + _globals['_CURRENT_CURRENTUNIT']._serialized_end=16753 + _globals['_VOLTAGE']._serialized_start=16780 + _globals['_VOLTAGE']._serialized_end=16955 + _globals['_VOLTAGE_VOLTAGEUNIT']._serialized_start=16876 + _globals['_VOLTAGE_VOLTAGEUNIT']._serialized_end=16931 + _globals['_LENGTH']._serialized_start=16958 + _globals['_LENGTH']._serialized_end=17167 + _globals['_LENGTH_LENGTHUNIT']._serialized_start=17051 + _globals['_LENGTH_LENGTHUNIT']._serialized_end=17143 + _globals['_WAVELENGTH']._serialized_start=17170 + _globals['_WAVELENGTH']._serialized_end=17363 + _globals['_WAVELENGTH_WAVELENGTHUNIT']._serialized_start=17275 + _globals['_WAVELENGTH_WAVELENGTHUNIT']._serialized_end=17339 + _globals['_FLOWRATE']._serialized_start=17366 + _globals['_FLOWRATE']._serialized_end=17654 + _globals['_FLOWRATE_FLOWRATEUNIT']._serialized_start=17466 + _globals['_FLOWRATE_FLOWRATEUNIT']._serialized_end=17630 + _globals['_PERCENTAGE']._serialized_start=17656 + _globals['_PERCENTAGE']._serialized_end=17736 + _globals['_FLOATVALUE']._serialized_start=17738 + _globals['_FLOATVALUE']._serialized_end=17818 + _globals['_DATA']._serialized_start=17821 + _globals['_DATA']._serialized_end=17982 # @@protoc_insertion_point(module_scope) diff --git a/proto/reaction.proto b/proto/reaction.proto index 89e861b9..e74bfe1c 100644 --- a/proto/reaction.proto +++ b/proto/reaction.proto @@ -162,10 +162,8 @@ message ReactionInput { // Specify the temperature of the material being added. // E.g., a cooled flask of a stock solution to be added at low temperature. Temperature addition_temperature = 9; - // The matter state immediately before addition. - StateOfMatter state_of_matter = 10; - // Specify the mixture state immediately before addition. - MixtureDescription mixture_description = 11; + // The texture immediately before addition. + ProductCompound.Texture texture = 10; } /** @@ -235,10 +233,7 @@ message CrudeComponent { optional bool has_derived_amount = 3; // If the entire crude mixture was not used, need to specify an amount. Amount amount = 4; - // The matter state. - StateOfMatter state_of_matter = 5; - // Specify the mixture state. - MixtureDescription mixture_description = 6; + ProductCompound.Texture texture = 5; } /** @@ -273,58 +268,7 @@ message Compound { // Compounds may be assayed for quality control; analytical data should be // defined in the analyses map. map analyses = 8; - // The matter state. - StateOfMatter state_of_matter = 9; - // Specify the mixture state. - MixtureDescription mixture_description = 10; -} - -message StateOfMatter { - enum StateOfMatterType { - UNSPECIFIED = 0; - SOLID = 1; - LIQUID = 2; - GAS = 3; - PLASMA = 4; - } -} - -message MixtureDescription { - enum MixtureType { - UNSPECIFIED = 0; - // A solution is a homogeneous mixture composed of one - // phase where particles are not visible to the naked eye and the solution - // does not scatter a light beam. Note it does not imply that the state of - // matter is liquid. - // This type corresponds to the following class of Allotrope foundation - // ontologies - // [solution](http://purl.allotrope.org/ontologies/material#AFM_0000012) - SOLUTION = 1; - // A colloid is a homogeneous mixture in which one substance of - // microscopically dispersed insoluble particles is suspended throughout - // another substance. This includes, but not limited to: emulsion, foam, - // sol, and gel. This type corresponds to the following class of Allotrope - // foundation ontologies - // [colloid](http://purl.allotrope.org/ontologies/material#AFM_0001044) - Colloid = 2; - // A dispersions is a heterogeneous mixture that is comprising more than one - // phase where at least one of the phases consists of finely divided phase - // domains, often in the colloidal size range, dispersed throughout a - // continuous phase. This type corresponds to the following class of - // Allotrope foundation ontologies - // [dispersion](http://purl.allotrope.org/ontologies/material#AFM_0001079) - Dispersion = 3; - // A suspension is a heterogeneous mixture in which the solute particles do - // not dissolve but get suspended throughout the bulk of the medium. This - // type corresponds to the following class of Allotrope foundation - // ontologies - // [suspension](http://purl.allotrope.org/ontologies/material#AFM_0000442) - Suspension = 4; - PURE = 5; - CUSTOM = 6; - } - MixtureType type = 2; - string details = 3; + ProductCompound.Texture texture = 9; } message ReactionRole { @@ -947,6 +891,7 @@ message ProductCompound { SEMI_SOLID = 8; SOLID = 9; LIQUID = 10; + GAS = 11; } TextureType type = 1; // Specify texture forms such as "fine needles" for CRYSTAL, From 94f048bea4203908a3b053b3148936dd723b78c2 Mon Sep 17 00:00:00 2001 From: qai Date: Fri, 8 Sep 2023 15:32:06 -0400 Subject: [PATCH 3/8] add validation for mixture state of matter --- ord_schema/validations.py | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/ord_schema/validations.py b/ord_schema/validations.py index aa1b8ac0..c92f3be4 100644 --- a/ord_schema/validations.py +++ b/ord_schema/validations.py @@ -496,6 +496,35 @@ def validate_reaction_input(message: reaction_pb2.ReactionInput): ValidationWarning, ) + texture_type_to_state_of_matter = { + reaction_pb2.ProductCompound.Texture.UNSPECIFIED: None, + reaction_pb2.ProductCompound.Texture.CUSTOM: None, + reaction_pb2.ProductCompound.Texture.GAS: 1, + reaction_pb2.ProductCompound.Texture.OIL: 2, + reaction_pb2.ProductCompound.Texture.FOAM: 2, + reaction_pb2.ProductCompound.Texture.LIQUID: 2, + reaction_pb2.ProductCompound.Texture.POWDER: 3, + reaction_pb2.ProductCompound.Texture.CRYSTAL: 3, + reaction_pb2.ProductCompound.Texture.WAX: 3, + reaction_pb2.ProductCompound.Texture.AMORPHOUS_SOLID: 3, + reaction_pb2.ProductCompound.Texture.SEMI_SOLID: 3, + reaction_pb2.ProductCompound.Texture.SOLID: 3, + } + input_state_code = texture_type_to_state_of_matter[message.texture.type] + if input_state_code is not None: + components = message.components + message.crude_components + component_state_codes = [texture_type_to_state_of_matter[c.texture.type] for c in components] + if ( + component_state_codes + and None not in component_state_codes + and max(component_state_codes) > input_state_code + ): + warnings.warn( + f"the ReationInput has texture type of: {message.texture.type}," + f"but its components are: {[c.texture.type for c in components]}," + f"this seems unlikely" + ) + def validate_addition_device(message: reaction_pb2.ReactionInput.AdditionDevice): check_type_and_details(message) From 7127651ddff456be2356a496bce6c1c360c07a74 Mon Sep 17 00:00:00 2001 From: qai Date: Fri, 8 Sep 2023 17:10:56 -0400 Subject: [PATCH 4/8] - move `Texture` out from `ProductCompound` - fix bug in texture type validation - add validation test for texture type consistence in `ReactionInput` --- js/ord-schema/proto/reaction_pb.js | 472 ++++++++++++++--------------- ord_schema/__init__.py | 2 +- ord_schema/proto/reaction_pb2.py | 440 +++++++++++++-------------- ord_schema/scripts/parse_uspto.py | 34 +-- ord_schema/validations.py | 32 +- ord_schema/validations_test.py | 36 +++ proto/reaction.proto | 52 ++-- 7 files changed, 555 insertions(+), 513 deletions(-) diff --git a/js/ord-schema/proto/reaction_pb.js b/js/ord-schema/proto/reaction_pb.js index 61e0c940..5ff40f02 100644 --- a/js/ord-schema/proto/reaction_pb.js +++ b/js/ord-schema/proto/reaction_pb.js @@ -87,8 +87,6 @@ goog.exportSymbol('proto.ord.PressureConditions.PressureControl.PressureControlT goog.exportSymbol('proto.ord.PressureConditions.PressureMeasurement', null, global); goog.exportSymbol('proto.ord.PressureConditions.PressureMeasurement.PressureMeasurementType', null, global); goog.exportSymbol('proto.ord.ProductCompound', null, global); -goog.exportSymbol('proto.ord.ProductCompound.Texture', null, global); -goog.exportSymbol('proto.ord.ProductCompound.Texture.TextureType', null, global); goog.exportSymbol('proto.ord.ProductMeasurement', null, global); goog.exportSymbol('proto.ord.ProductMeasurement.MassSpecMeasurementDetails', null, global); goog.exportSymbol('proto.ord.ProductMeasurement.MassSpecMeasurementDetails.MassSpecMeasurementType', null, global); @@ -128,6 +126,8 @@ goog.exportSymbol('proto.ord.TemperatureConditions.TemperatureControl', null, gl goog.exportSymbol('proto.ord.TemperatureConditions.TemperatureControl.TemperatureControlType', null, global); goog.exportSymbol('proto.ord.TemperatureConditions.TemperatureMeasurement', null, global); goog.exportSymbol('proto.ord.TemperatureConditions.TemperatureMeasurement.TemperatureMeasurementType', null, global); +goog.exportSymbol('proto.ord.Texture', null, global); +goog.exportSymbol('proto.ord.Texture.TextureType', null, global); goog.exportSymbol('proto.ord.Time', null, global); goog.exportSymbol('proto.ord.Time.TimeUnit', null, global); goog.exportSymbol('proto.ord.UnmeasuredAmount', null, global); @@ -293,6 +293,27 @@ if (goog.DEBUG && !COMPILED) { */ proto.ord.UnmeasuredAmount.displayName = 'proto.ord.UnmeasuredAmount'; } +/** + * Generated by JsPbCodeGenerator. + * @param {Array=} opt_data Optional initial data array, typically from a + * server response, or constructed directly in Javascript. The array is used + * in place and becomes part of the constructed object. It is not cloned. + * If no data is provided, the constructed object will be empty, but still + * valid. + * @extends {jspb.Message} + * @constructor + */ +proto.ord.Texture = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, null, null); +}; +goog.inherits(proto.ord.Texture, jspb.Message); +if (goog.DEBUG && !COMPILED) { + /** + * @public + * @override + */ + proto.ord.Texture.displayName = 'proto.ord.Texture'; +} /** * Generated by JsPbCodeGenerator. * @param {Array=} opt_data Optional initial data array, typically from a @@ -986,27 +1007,6 @@ if (goog.DEBUG && !COMPILED) { */ proto.ord.ProductCompound.displayName = 'proto.ord.ProductCompound'; } -/** - * Generated by JsPbCodeGenerator. - * @param {Array=} opt_data Optional initial data array, typically from a - * server response, or constructed directly in Javascript. The array is used - * in place and becomes part of the constructed object. It is not cloned. - * If no data is provided, the constructed object will be empty, but still - * valid. - * @extends {jspb.Message} - * @constructor - */ -proto.ord.ProductCompound.Texture = function(opt_data) { - jspb.Message.initialize(this, opt_data, 0, -1, null, null); -}; -goog.inherits(proto.ord.ProductCompound.Texture, jspb.Message); -if (goog.DEBUG && !COMPILED) { - /** - * @public - * @override - */ - proto.ord.ProductCompound.Texture.displayName = 'proto.ord.ProductCompound.Texture'; -} /** * Generated by JsPbCodeGenerator. * @param {Array=} opt_data Optional initial data array, typically from a @@ -2378,7 +2378,7 @@ proto.ord.ReactionInput.toObject = function(includeInstance, msg) { flowRate: (f = msg.getFlowRate()) && proto.ord.FlowRate.toObject(includeInstance, f), additionDevice: (f = msg.getAdditionDevice()) && proto.ord.ReactionInput.AdditionDevice.toObject(includeInstance, f), additionTemperature: (f = msg.getAdditionTemperature()) && proto.ord.Temperature.toObject(includeInstance, f), - texture: (f = msg.getTexture()) && proto.ord.ProductCompound.Texture.toObject(includeInstance, f) + texture: (f = msg.getTexture()) && proto.ord.Texture.toObject(includeInstance, f) }; if (includeInstance) { @@ -2460,8 +2460,8 @@ proto.ord.ReactionInput.deserializeBinaryFromReader = function(msg, reader) { msg.setAdditionTemperature(value); break; case 10: - var value = new proto.ord.ProductCompound.Texture; - reader.readMessage(value,proto.ord.ProductCompound.Texture.deserializeBinaryFromReader); + var value = new proto.ord.Texture; + reader.readMessage(value,proto.ord.Texture.deserializeBinaryFromReader); msg.setTexture(value); break; default: @@ -2569,7 +2569,7 @@ proto.ord.ReactionInput.serializeBinaryToWriter = function(message, writer) { writer.writeMessage( 10, f, - proto.ord.ProductCompound.Texture.serializeBinaryToWriter + proto.ord.Texture.serializeBinaryToWriter ); } }; @@ -3237,17 +3237,17 @@ proto.ord.ReactionInput.prototype.hasAdditionTemperature = function() { /** - * optional ProductCompound.Texture texture = 10; - * @return {?proto.ord.ProductCompound.Texture} + * optional Texture texture = 10; + * @return {?proto.ord.Texture} */ proto.ord.ReactionInput.prototype.getTexture = function() { - return /** @type{?proto.ord.ProductCompound.Texture} */ ( - jspb.Message.getWrapperField(this, proto.ord.ProductCompound.Texture, 10)); + return /** @type{?proto.ord.Texture} */ ( + jspb.Message.getWrapperField(this, proto.ord.Texture, 10)); }; /** - * @param {?proto.ord.ProductCompound.Texture|undefined} value + * @param {?proto.ord.Texture|undefined} value * @return {!proto.ord.ReactionInput} returns this */ proto.ord.ReactionInput.prototype.setTexture = function(value) { @@ -3827,6 +3827,184 @@ proto.ord.UnmeasuredAmount.prototype.setDetails = function(value) { +if (jspb.Message.GENERATE_TO_OBJECT) { +/** + * Creates an object representation of this proto. + * Field names that are reserved in JavaScript and will be renamed to pb_name. + * Optional fields that are not set will be set to undefined. + * To access a reserved field use, foo.pb_, eg, foo.pb_default. + * For the list of reserved names please see: + * net/proto2/compiler/js/internal/generator.cc#kKeyword. + * @param {boolean=} opt_includeInstance Deprecated. whether to include the + * JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @return {!Object} + */ +proto.ord.Texture.prototype.toObject = function(opt_includeInstance) { + return proto.ord.Texture.toObject(opt_includeInstance, this); +}; + + +/** + * Static version of the {@see toObject} method. + * @param {boolean|undefined} includeInstance Deprecated. Whether to include + * the JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @param {!proto.ord.Texture} msg The msg instance to transform. + * @return {!Object} + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.ord.Texture.toObject = function(includeInstance, msg) { + var f, obj = { + type: jspb.Message.getFieldWithDefault(msg, 1, 0), + details: jspb.Message.getFieldWithDefault(msg, 2, "") + }; + + if (includeInstance) { + obj.$jspbMessageInstance = msg; + } + return obj; +}; +} + + +/** + * Deserializes binary data (in protobuf wire format). + * @param {jspb.ByteSource} bytes The bytes to deserialize. + * @return {!proto.ord.Texture} + */ +proto.ord.Texture.deserializeBinary = function(bytes) { + var reader = new jspb.BinaryReader(bytes); + var msg = new proto.ord.Texture; + return proto.ord.Texture.deserializeBinaryFromReader(msg, reader); +}; + + +/** + * Deserializes binary data (in protobuf wire format) from the + * given reader into the given message object. + * @param {!proto.ord.Texture} msg The message object to deserialize into. + * @param {!jspb.BinaryReader} reader The BinaryReader to use. + * @return {!proto.ord.Texture} + */ +proto.ord.Texture.deserializeBinaryFromReader = function(msg, reader) { + while (reader.nextField()) { + if (reader.isEndGroup()) { + break; + } + var field = reader.getFieldNumber(); + switch (field) { + case 1: + var value = /** @type {!proto.ord.Texture.TextureType} */ (reader.readEnum()); + msg.setType(value); + break; + case 2: + var value = /** @type {string} */ (reader.readString()); + msg.setDetails(value); + break; + default: + reader.skipField(); + break; + } + } + return msg; +}; + + +/** + * Serializes the message to binary data (in protobuf wire format). + * @return {!Uint8Array} + */ +proto.ord.Texture.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.ord.Texture.serializeBinaryToWriter(this, writer); + return writer.getResultBuffer(); +}; + + +/** + * Serializes the given message to binary data (in protobuf wire + * format), writing to the given BinaryWriter. + * @param {!proto.ord.Texture} message + * @param {!jspb.BinaryWriter} writer + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.ord.Texture.serializeBinaryToWriter = function(message, writer) { + var f = undefined; + f = message.getType(); + if (f !== 0.0) { + writer.writeEnum( + 1, + f + ); + } + f = message.getDetails(); + if (f.length > 0) { + writer.writeString( + 2, + f + ); + } +}; + + +/** + * @enum {number} + */ +proto.ord.Texture.TextureType = { + UNSPECIFIED: 0, + CUSTOM: 1, + POWDER: 2, + CRYSTAL: 3, + OIL: 4, + AMORPHOUS_SOLID: 5, + FOAM: 6, + WAX: 7, + SEMI_SOLID: 8, + SOLID: 9, + LIQUID: 10, + GAS: 11 +}; + +/** + * optional TextureType type = 1; + * @return {!proto.ord.Texture.TextureType} + */ +proto.ord.Texture.prototype.getType = function() { + return /** @type {!proto.ord.Texture.TextureType} */ (jspb.Message.getFieldWithDefault(this, 1, 0)); +}; + + +/** + * @param {!proto.ord.Texture.TextureType} value + * @return {!proto.ord.Texture} returns this + */ +proto.ord.Texture.prototype.setType = function(value) { + return jspb.Message.setProto3EnumField(this, 1, value); +}; + + +/** + * optional string details = 2; + * @return {string} + */ +proto.ord.Texture.prototype.getDetails = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, "")); +}; + + +/** + * @param {string} value + * @return {!proto.ord.Texture} returns this + */ +proto.ord.Texture.prototype.setDetails = function(value) { + return jspb.Message.setProto3StringField(this, 2, value); +}; + + + + + if (jspb.Message.GENERATE_TO_OBJECT) { /** * Creates an object representation of this proto. @@ -3860,7 +4038,7 @@ proto.ord.CrudeComponent.toObject = function(includeInstance, msg) { includesWorkup: jspb.Message.getBooleanFieldWithDefault(msg, 2, false), hasDerivedAmount: jspb.Message.getBooleanFieldWithDefault(msg, 3, false), amount: (f = msg.getAmount()) && proto.ord.Amount.toObject(includeInstance, f), - texture: (f = msg.getTexture()) && proto.ord.ProductCompound.Texture.toObject(includeInstance, f) + texture: (f = msg.getTexture()) && proto.ord.Texture.toObject(includeInstance, f) }; if (includeInstance) { @@ -3915,8 +4093,8 @@ proto.ord.CrudeComponent.deserializeBinaryFromReader = function(msg, reader) { msg.setAmount(value); break; case 5: - var value = new proto.ord.ProductCompound.Texture; - reader.readMessage(value,proto.ord.ProductCompound.Texture.deserializeBinaryFromReader); + var value = new proto.ord.Texture; + reader.readMessage(value,proto.ord.Texture.deserializeBinaryFromReader); msg.setTexture(value); break; default: @@ -3982,7 +4160,7 @@ proto.ord.CrudeComponent.serializeBinaryToWriter = function(message, writer) { writer.writeMessage( 5, f, - proto.ord.ProductCompound.Texture.serializeBinaryToWriter + proto.ord.Texture.serializeBinaryToWriter ); } }; @@ -4116,17 +4294,17 @@ proto.ord.CrudeComponent.prototype.hasAmount = function() { /** - * optional ProductCompound.Texture texture = 5; - * @return {?proto.ord.ProductCompound.Texture} + * optional Texture texture = 5; + * @return {?proto.ord.Texture} */ proto.ord.CrudeComponent.prototype.getTexture = function() { - return /** @type{?proto.ord.ProductCompound.Texture} */ ( - jspb.Message.getWrapperField(this, proto.ord.ProductCompound.Texture, 5)); + return /** @type{?proto.ord.Texture} */ ( + jspb.Message.getWrapperField(this, proto.ord.Texture, 5)); }; /** - * @param {?proto.ord.ProductCompound.Texture|undefined} value + * @param {?proto.ord.Texture|undefined} value * @return {!proto.ord.CrudeComponent} returns this */ proto.ord.CrudeComponent.prototype.setTexture = function(value) { @@ -4201,7 +4379,7 @@ proto.ord.Compound.toObject = function(includeInstance, msg) { source: (f = msg.getSource()) && proto.ord.Compound.Source.toObject(includeInstance, f), featuresMap: (f = msg.getFeaturesMap()) ? f.toObject(includeInstance, proto.ord.Data.toObject) : [], analysesMap: (f = msg.getAnalysesMap()) ? f.toObject(includeInstance, proto.ord.Analysis.toObject) : [], - texture: (f = msg.getTexture()) && proto.ord.ProductCompound.Texture.toObject(includeInstance, f) + texture: (f = msg.getTexture()) && proto.ord.Texture.toObject(includeInstance, f) }; if (includeInstance) { @@ -4279,8 +4457,8 @@ proto.ord.Compound.deserializeBinaryFromReader = function(msg, reader) { }); break; case 9: - var value = new proto.ord.ProductCompound.Texture; - reader.readMessage(value,proto.ord.ProductCompound.Texture.deserializeBinaryFromReader); + var value = new proto.ord.Texture; + reader.readMessage(value,proto.ord.Texture.deserializeBinaryFromReader); msg.setTexture(value); break; default: @@ -4371,7 +4549,7 @@ proto.ord.Compound.serializeBinaryToWriter = function(message, writer) { writer.writeMessage( 9, f, - proto.ord.ProductCompound.Texture.serializeBinaryToWriter + proto.ord.Texture.serializeBinaryToWriter ); } }; @@ -4818,17 +4996,17 @@ proto.ord.Compound.prototype.clearAnalysesMap = function() { /** - * optional ProductCompound.Texture texture = 9; - * @return {?proto.ord.ProductCompound.Texture} + * optional Texture texture = 9; + * @return {?proto.ord.Texture} */ proto.ord.Compound.prototype.getTexture = function() { - return /** @type{?proto.ord.ProductCompound.Texture} */ ( - jspb.Message.getWrapperField(this, proto.ord.ProductCompound.Texture, 9)); + return /** @type{?proto.ord.Texture} */ ( + jspb.Message.getWrapperField(this, proto.ord.Texture, 9)); }; /** - * @param {?proto.ord.ProductCompound.Texture|undefined} value + * @param {?proto.ord.Texture|undefined} value * @return {!proto.ord.Compound} returns this */ proto.ord.Compound.prototype.setTexture = function(value) { @@ -12912,7 +13090,7 @@ proto.ord.ProductCompound.toObject = function(includeInstance, msg) { measurementsList: jspb.Message.toObjectList(msg.getMeasurementsList(), proto.ord.ProductMeasurement.toObject, includeInstance), isolatedColor: jspb.Message.getFieldWithDefault(msg, 4, ""), - texture: (f = msg.getTexture()) && proto.ord.ProductCompound.Texture.toObject(includeInstance, f), + texture: (f = msg.getTexture()) && proto.ord.Texture.toObject(includeInstance, f), featuresMap: (f = msg.getFeaturesMap()) ? f.toObject(includeInstance, proto.ord.Data.toObject) : [], reactionRole: jspb.Message.getFieldWithDefault(msg, 7, 0) }; @@ -12970,8 +13148,8 @@ proto.ord.ProductCompound.deserializeBinaryFromReader = function(msg, reader) { msg.setIsolatedColor(value); break; case 5: - var value = new proto.ord.ProductCompound.Texture; - reader.readMessage(value,proto.ord.ProductCompound.Texture.deserializeBinaryFromReader); + var value = new proto.ord.Texture; + reader.readMessage(value,proto.ord.Texture.deserializeBinaryFromReader); msg.setTexture(value); break; case 6: @@ -13048,7 +13226,7 @@ proto.ord.ProductCompound.serializeBinaryToWriter = function(message, writer) { writer.writeMessage( 5, f, - proto.ord.ProductCompound.Texture.serializeBinaryToWriter + proto.ord.Texture.serializeBinaryToWriter ); } f = message.getFeaturesMap(true); @@ -13065,184 +13243,6 @@ proto.ord.ProductCompound.serializeBinaryToWriter = function(message, writer) { }; - - - -if (jspb.Message.GENERATE_TO_OBJECT) { -/** - * Creates an object representation of this proto. - * Field names that are reserved in JavaScript and will be renamed to pb_name. - * Optional fields that are not set will be set to undefined. - * To access a reserved field use, foo.pb_, eg, foo.pb_default. - * For the list of reserved names please see: - * net/proto2/compiler/js/internal/generator.cc#kKeyword. - * @param {boolean=} opt_includeInstance Deprecated. whether to include the - * JSPB instance for transitional soy proto support: - * http://goto/soy-param-migration - * @return {!Object} - */ -proto.ord.ProductCompound.Texture.prototype.toObject = function(opt_includeInstance) { - return proto.ord.ProductCompound.Texture.toObject(opt_includeInstance, this); -}; - - -/** - * Static version of the {@see toObject} method. - * @param {boolean|undefined} includeInstance Deprecated. Whether to include - * the JSPB instance for transitional soy proto support: - * http://goto/soy-param-migration - * @param {!proto.ord.ProductCompound.Texture} msg The msg instance to transform. - * @return {!Object} - * @suppress {unusedLocalVariables} f is only used for nested messages - */ -proto.ord.ProductCompound.Texture.toObject = function(includeInstance, msg) { - var f, obj = { - type: jspb.Message.getFieldWithDefault(msg, 1, 0), - details: jspb.Message.getFieldWithDefault(msg, 2, "") - }; - - if (includeInstance) { - obj.$jspbMessageInstance = msg; - } - return obj; -}; -} - - -/** - * Deserializes binary data (in protobuf wire format). - * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.ord.ProductCompound.Texture} - */ -proto.ord.ProductCompound.Texture.deserializeBinary = function(bytes) { - var reader = new jspb.BinaryReader(bytes); - var msg = new proto.ord.ProductCompound.Texture; - return proto.ord.ProductCompound.Texture.deserializeBinaryFromReader(msg, reader); -}; - - -/** - * Deserializes binary data (in protobuf wire format) from the - * given reader into the given message object. - * @param {!proto.ord.ProductCompound.Texture} msg The message object to deserialize into. - * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.ord.ProductCompound.Texture} - */ -proto.ord.ProductCompound.Texture.deserializeBinaryFromReader = function(msg, reader) { - while (reader.nextField()) { - if (reader.isEndGroup()) { - break; - } - var field = reader.getFieldNumber(); - switch (field) { - case 1: - var value = /** @type {!proto.ord.ProductCompound.Texture.TextureType} */ (reader.readEnum()); - msg.setType(value); - break; - case 2: - var value = /** @type {string} */ (reader.readString()); - msg.setDetails(value); - break; - default: - reader.skipField(); - break; - } - } - return msg; -}; - - -/** - * Serializes the message to binary data (in protobuf wire format). - * @return {!Uint8Array} - */ -proto.ord.ProductCompound.Texture.prototype.serializeBinary = function() { - var writer = new jspb.BinaryWriter(); - proto.ord.ProductCompound.Texture.serializeBinaryToWriter(this, writer); - return writer.getResultBuffer(); -}; - - -/** - * Serializes the given message to binary data (in protobuf wire - * format), writing to the given BinaryWriter. - * @param {!proto.ord.ProductCompound.Texture} message - * @param {!jspb.BinaryWriter} writer - * @suppress {unusedLocalVariables} f is only used for nested messages - */ -proto.ord.ProductCompound.Texture.serializeBinaryToWriter = function(message, writer) { - var f = undefined; - f = message.getType(); - if (f !== 0.0) { - writer.writeEnum( - 1, - f - ); - } - f = message.getDetails(); - if (f.length > 0) { - writer.writeString( - 2, - f - ); - } -}; - - -/** - * @enum {number} - */ -proto.ord.ProductCompound.Texture.TextureType = { - UNSPECIFIED: 0, - CUSTOM: 1, - POWDER: 2, - CRYSTAL: 3, - OIL: 4, - AMORPHOUS_SOLID: 5, - FOAM: 6, - WAX: 7, - SEMI_SOLID: 8, - SOLID: 9, - LIQUID: 10, - GAS: 11 -}; - -/** - * optional TextureType type = 1; - * @return {!proto.ord.ProductCompound.Texture.TextureType} - */ -proto.ord.ProductCompound.Texture.prototype.getType = function() { - return /** @type {!proto.ord.ProductCompound.Texture.TextureType} */ (jspb.Message.getFieldWithDefault(this, 1, 0)); -}; - - -/** - * @param {!proto.ord.ProductCompound.Texture.TextureType} value - * @return {!proto.ord.ProductCompound.Texture} returns this - */ -proto.ord.ProductCompound.Texture.prototype.setType = function(value) { - return jspb.Message.setProto3EnumField(this, 1, value); -}; - - -/** - * optional string details = 2; - * @return {string} - */ -proto.ord.ProductCompound.Texture.prototype.getDetails = function() { - return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, "")); -}; - - -/** - * @param {string} value - * @return {!proto.ord.ProductCompound.Texture} returns this - */ -proto.ord.ProductCompound.Texture.prototype.setDetails = function(value) { - return jspb.Message.setProto3StringField(this, 2, value); -}; - - /** * repeated CompoundIdentifier identifiers = 1; * @return {!Array} @@ -13375,16 +13375,16 @@ proto.ord.ProductCompound.prototype.setIsolatedColor = function(value) { /** * optional Texture texture = 5; - * @return {?proto.ord.ProductCompound.Texture} + * @return {?proto.ord.Texture} */ proto.ord.ProductCompound.prototype.getTexture = function() { - return /** @type{?proto.ord.ProductCompound.Texture} */ ( - jspb.Message.getWrapperField(this, proto.ord.ProductCompound.Texture, 5)); + return /** @type{?proto.ord.Texture} */ ( + jspb.Message.getWrapperField(this, proto.ord.Texture, 5)); }; /** - * @param {?proto.ord.ProductCompound.Texture|undefined} value + * @param {?proto.ord.Texture|undefined} value * @return {!proto.ord.ProductCompound} returns this */ proto.ord.ProductCompound.prototype.setTexture = function(value) { diff --git a/ord_schema/__init__.py b/ord_schema/__init__.py index 608264df..85977ccf 100644 --- a/ord_schema/__init__.py +++ b/ord_schema/__init__.py @@ -37,7 +37,7 @@ reaction_pb2.PressureConditions.Atmosphere, reaction_pb2.PressureConditions.PressureMeasurement, reaction_pb2.PressureConditions.PressureControl, - reaction_pb2.ProductCompound.Texture, + reaction_pb2.Texture, reaction_pb2.ProductMeasurement, reaction_pb2.ProductMeasurement.MassSpecMeasurementDetails, reaction_pb2.ProductMeasurement.Selectivity, diff --git a/ord_schema/proto/reaction_pb2.py b/ord_schema/proto/reaction_pb2.py index a66d4e53..d0858e42 100644 --- a/ord_schema/proto/reaction_pb2.py +++ b/ord_schema/proto/reaction_pb2.py @@ -27,7 +27,7 @@ -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1ford-schema/proto/reaction.proto\x12\x03ord\"\xd9\x03\n\x08Reaction\x12,\n\x0bidentifiers\x18\x01 \x03(\x0b\x32\x17.ord.ReactionIdentifier\x12)\n\x06inputs\x18\x02 \x03(\x0b\x32\x19.ord.Reaction.InputsEntry\x12!\n\x05setup\x18\x03 \x01(\x0b\x32\x12.ord.ReactionSetup\x12+\n\nconditions\x18\x04 \x01(\x0b\x32\x17.ord.ReactionConditions\x12!\n\x05notes\x18\x05 \x01(\x0b\x32\x12.ord.ReactionNotes\x12.\n\x0cobservations\x18\x06 \x03(\x0b\x32\x18.ord.ReactionObservation\x12$\n\x07workups\x18\x07 \x03(\x0b\x32\x13.ord.ReactionWorkup\x12&\n\x08outcomes\x18\x08 \x03(\x0b\x32\x14.ord.ReactionOutcome\x12+\n\nprovenance\x18\t \x01(\x0b\x32\x17.ord.ReactionProvenance\x12\x13\n\x0breaction_id\x18\n \x01(\t\x1a\x41\n\x0bInputsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12!\n\x05value\x18\x02 \x01(\x0b\x32\x12.ord.ReactionInput:\x02\x38\x01\"\xa7\x02\n\x12ReactionIdentifier\x12<\n\x04type\x18\x01 \x01(\x0e\x32..ord.ReactionIdentifier.ReactionIdentifierType\x12\x0f\n\x07\x64\x65tails\x18\x02 \x01(\t\x12\r\n\x05value\x18\x03 \x01(\t\x12\x16\n\tis_mapped\x18\x04 \x01(\x08H\x00\x88\x01\x01\"\x8c\x01\n\x16ReactionIdentifierType\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\n\n\x06\x43USTOM\x10\x01\x12\x13\n\x0fREACTION_SMILES\x10\x02\x12\x15\n\x11REACTION_CXSMILES\x10\x06\x12\n\n\x06RDFILE\x10\x03\x12\n\n\x06RINCHI\x10\x04\x12\x11\n\rREACTION_TYPE\x10\x05\x42\x0c\n\n_is_mapped\"\xeb\x06\n\rReactionInput\x12!\n\ncomponents\x18\x01 \x03(\x0b\x32\r.ord.Compound\x12-\n\x10\x63rude_components\x18\x02 \x03(\x0b\x32\x13.ord.CrudeComponent\x12\x16\n\x0e\x61\x64\x64ition_order\x18\x03 \x01(\x05\x12 \n\raddition_time\x18\x04 \x01(\x0b\x32\t.ord.Time\x12\x38\n\x0e\x61\x64\x64ition_speed\x18\x05 \x01(\x0b\x32 .ord.ReactionInput.AdditionSpeed\x12$\n\x11\x61\x64\x64ition_duration\x18\x06 \x01(\x0b\x32\t.ord.Time\x12 \n\tflow_rate\x18\x07 \x01(\x0b\x32\r.ord.FlowRate\x12:\n\x0f\x61\x64\x64ition_device\x18\x08 \x01(\x0b\x32!.ord.ReactionInput.AdditionDevice\x12.\n\x14\x61\x64\x64ition_temperature\x18\t \x01(\x0b\x32\x10.ord.Temperature\x12-\n\x07texture\x18\n \x01(\x0b\x32\x1c.ord.ProductCompound.Texture\x1a\xdc\x01\n\rAdditionSpeed\x12@\n\x04type\x18\x01 \x01(\x0e\x32\x32.ord.ReactionInput.AdditionSpeed.AdditionSpeedType\x12\x0f\n\x07\x64\x65tails\x18\x02 \x01(\t\"x\n\x11\x41\x64\x64itionSpeedType\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\x0f\n\x0b\x41LL_AT_ONCE\x10\x01\x12\x08\n\x04\x46\x41ST\x10\x02\x12\x08\n\x04SLOW\x10\x03\x12\x0c\n\x08\x44ROPWISE\x10\x04\x12\x0e\n\nCONTINUOUS\x10\x05\x12\x0f\n\x0bPORTIONWISE\x10\x06\x1a\xd1\x01\n\x0e\x41\x64\x64itionDevice\x12\x42\n\x04type\x18\x01 \x01(\x0e\x32\x34.ord.ReactionInput.AdditionDevice.AdditionDeviceType\x12\x0f\n\x07\x64\x65tails\x18\x02 \x01(\t\"j\n\x12\x41\x64\x64itionDeviceType\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\n\n\x06\x43USTOM\x10\x01\x12\x08\n\x04NONE\x10\x02\x12\x0b\n\x07SYRINGE\x10\x03\x12\x0b\n\x07\x43\x41NNULA\x10\x04\x12\x13\n\x0f\x41\x44\x44ITION_FUNNEL\x10\x05\"\xd6\x01\n\x06\x41mount\x12\x19\n\x04mass\x18\x01 \x01(\x0b\x32\t.ord.MassH\x00\x12\x1b\n\x05moles\x18\x02 \x01(\x0b\x32\n.ord.MolesH\x00\x12\x1d\n\x06volume\x18\x03 \x01(\x0b\x32\x0b.ord.VolumeH\x00\x12+\n\nunmeasured\x18\x05 \x01(\x0b\x32\x15.ord.UnmeasuredAmountH\x00\x12$\n\x17volume_includes_solutes\x18\x04 \x01(\x08H\x01\x88\x01\x01\x42\x06\n\x04kindB\x1a\n\x18_volume_includes_solutes\"\xbe\x01\n\x10UnmeasuredAmount\x12\x38\n\x04type\x18\x01 \x01(\x0e\x32*.ord.UnmeasuredAmount.UnmeasuredAmountType\x12\x0f\n\x07\x64\x65tails\x18\x02 \x01(\t\"_\n\x14UnmeasuredAmountType\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\n\n\x06\x43USTOM\x10\x01\x12\r\n\tSATURATED\x10\x02\x12\r\n\tCATALYTIC\x10\x03\x12\x0c\n\x08TITRATED\x10\x04\"\xdb\x01\n\x0e\x43rudeComponent\x12\x13\n\x0breaction_id\x18\x01 \x01(\t\x12\x1c\n\x0fincludes_workup\x18\x02 \x01(\x08H\x00\x88\x01\x01\x12\x1f\n\x12has_derived_amount\x18\x03 \x01(\x08H\x01\x88\x01\x01\x12\x1b\n\x06\x61mount\x18\x04 \x01(\x0b\x32\x0b.ord.Amount\x12-\n\x07texture\x18\x05 \x01(\x0b\x32\x1c.ord.ProductCompound.TextureB\x12\n\x10_includes_workupB\x15\n\x13_has_derived_amount\"\xd4\x04\n\x08\x43ompound\x12,\n\x0bidentifiers\x18\x01 \x03(\x0b\x32\x17.ord.CompoundIdentifier\x12\x1b\n\x06\x61mount\x18\x02 \x01(\x0b\x32\x0b.ord.Amount\x12\x39\n\rreaction_role\x18\x03 \x01(\x0e\x32\".ord.ReactionRole.ReactionRoleType\x12\x18\n\x0bis_limiting\x18\x04 \x01(\x08H\x00\x88\x01\x01\x12.\n\x0cpreparations\x18\x05 \x03(\x0b\x32\x18.ord.CompoundPreparation\x12$\n\x06source\x18\x06 \x01(\x0b\x32\x14.ord.Compound.Source\x12-\n\x08\x66\x65\x61tures\x18\x07 \x03(\x0b\x32\x1b.ord.Compound.FeaturesEntry\x12-\n\x08\x61nalyses\x18\x08 \x03(\x0b\x32\x1b.ord.Compound.AnalysesEntry\x12-\n\x07texture\x18\t \x01(\x0b\x32\x1c.ord.ProductCompound.Texture\x1a\x39\n\x06Source\x12\x0e\n\x06vendor\x18\x01 \x01(\t\x12\x12\n\ncatalog_id\x18\x02 \x01(\t\x12\x0b\n\x03lot\x18\x03 \x01(\t\x1a:\n\rFeaturesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x18\n\x05value\x18\x02 \x01(\x0b\x32\t.ord.Data:\x02\x38\x01\x1a>\n\rAnalysesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x1c\n\x05value\x18\x02 \x01(\x0b\x32\r.ord.Analysis:\x02\x38\x01\x42\x0e\n\x0c_is_limiting\"\xd3\x01\n\x0cReactionRole\"\xc2\x01\n\x10ReactionRoleType\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\x0c\n\x08REACTANT\x10\x01\x12\x0b\n\x07REAGENT\x10\x02\x12\x0b\n\x07SOLVENT\x10\x03\x12\x0c\n\x08\x43\x41TALYST\x10\x04\x12\n\n\x06WORKUP\x10\x05\x12\x15\n\x11INTERNAL_STANDARD\x10\x06\x12\x16\n\x12\x41UTHENTIC_STANDARD\x10\x07\x12\x0b\n\x07PRODUCT\x10\x08\x12\r\n\tBYPRODUCT\x10\t\x12\x10\n\x0cSIDE_PRODUCT\x10\n\"\xf6\x01\n\x13\x43ompoundPreparation\x12>\n\x04type\x18\x01 \x01(\x0e\x32\x30.ord.CompoundPreparation.CompoundPreparationType\x12\x0f\n\x07\x64\x65tails\x18\x02 \x01(\t\x12\x13\n\x0breaction_id\x18\x03 \x01(\t\"y\n\x17\x43ompoundPreparationType\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\n\n\x06\x43USTOM\x10\x01\x12\x08\n\x04NONE\x10\x02\x12\x0e\n\nREPURIFIED\x10\x03\x12\x0b\n\x07SPARGED\x10\x04\x12\t\n\x05\x44RIED\x10\x05\x12\x0f\n\x0bSYNTHESIZED\x10\x06\"\x82\x03\n\x12\x43ompoundIdentifier\x12<\n\x04type\x18\x01 \x01(\x0e\x32..ord.CompoundIdentifier.CompoundIdentifierType\x12\x0f\n\x07\x64\x65tails\x18\x02 \x01(\t\x12\r\n\x05value\x18\x03 \x01(\t\"\x8d\x02\n\x16\x43ompoundIdentifierType\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\n\n\x06\x43USTOM\x10\x01\x12\n\n\x06SMILES\x10\x02\x12\t\n\x05INCHI\x10\x03\x12\x0c\n\x08MOLBLOCK\x10\x04\x12\x0e\n\nIUPAC_NAME\x10\x05\x12\x08\n\x04NAME\x10\x06\x12\x0e\n\nCAS_NUMBER\x10\x07\x12\x0f\n\x0bPUBCHEM_CID\x10\x08\x12\x11\n\rCHEMSPIDER_ID\x10\t\x12\x0c\n\x08\x43XSMILES\x10\n\x12\r\n\tINCHI_KEY\x10\x0b\x12\x07\n\x03XYZ\x10\x0c\x12\x0e\n\nUNIPROT_ID\x10\r\x12\n\n\x06PDB_ID\x10\x0e\x12\x17\n\x13\x41MINO_ACID_SEQUENCE\x10\x0f\x12\x08\n\x04HELM\x10\x10\"\xa7\x04\n\x06Vessel\x12$\n\x04type\x18\x01 \x01(\x0e\x32\x16.ord.Vessel.VesselType\x12\x0f\n\x07\x64\x65tails\x18\x02 \x01(\t\x12%\n\x08material\x18\x03 \x01(\x0b\x32\x13.ord.VesselMaterial\x12,\n\x0cpreparations\x18\x04 \x03(\x0b\x32\x16.ord.VesselPreparation\x12*\n\x0b\x61ttachments\x18\x05 \x03(\x0b\x32\x15.ord.VesselAttachment\x12\x1b\n\x06volume\x18\x06 \x01(\x0b\x32\x0b.ord.Volume\x12\x11\n\tvessel_id\x18\x07 \x01(\t\x12\x10\n\x08position\x18\x08 \x01(\t\x12\x0b\n\x03row\x18\t \x01(\t\x12\x0b\n\x03\x63ol\x18\n \x01(\t\"\x88\x02\n\nVesselType\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\n\n\x06\x43USTOM\x10\x01\x12\x16\n\x12ROUND_BOTTOM_FLASK\x10\x02\x12\x08\n\x04VIAL\x10\x03\x12\x0e\n\nWELL_PLATE\x10\x04\x12\x12\n\x0eMICROWAVE_VIAL\x10\x05\x12\x08\n\x04TUBE\x10\x06\x12#\n\x1f\x43ONTINUOUS_STIRRED_TANK_REACTOR\x10\x07\x12\x16\n\x12PACKED_BED_REACTOR\x10\x08\x12\x0c\n\x08NMR_TUBE\x10\t\x12\x12\n\x0ePRESSURE_FLASK\x10\n\x12\x14\n\x10PRESSURE_REACTOR\x10\x0b\x12\x18\n\x14\x45LECTROCHEMICAL_CELL\x10\x0c\"\xcc\x01\n\x0eVesselMaterial\x12\x34\n\x04type\x18\x01 \x01(\x0e\x32&.ord.VesselMaterial.VesselMaterialType\x12\x0f\n\x07\x64\x65tails\x18\x02 \x01(\t\"s\n\x12VesselMaterialType\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\n\n\x06\x43USTOM\x10\x01\x12\t\n\x05GLASS\x10\x02\x12\x11\n\rPOLYPROPYLENE\x10\x03\x12\x0b\n\x07PLASTIC\x10\x04\x12\t\n\x05METAL\x10\x05\x12\n\n\x06QUARTZ\x10\x06\"\x97\x03\n\x10VesselAttachment\x12\x38\n\x04type\x18\x01 \x01(\x0e\x32*.ord.VesselAttachment.VesselAttachmentType\x12\x0f\n\x07\x64\x65tails\x18\x02 \x01(\t\"\xb7\x02\n\x14VesselAttachmentType\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\x08\n\x04NONE\x10\x01\x12\n\n\x06\x43USTOM\x10\x02\x12\n\n\x06SEPTUM\x10\x03\x12\x07\n\x03\x43\x41P\x10\x04\x12\x07\n\x03MAT\x10\x05\x12\x14\n\x10REFLUX_CONDENSER\x10\x06\x12\x0f\n\x0bVENT_NEEDLE\x10\x07\x12\x0e\n\nDEAN_STARK\x10\x08\x12\x0f\n\x0bVACUUM_TUBE\x10\t\x12\x13\n\x0f\x41\x44\x44ITION_FUNNEL\x10\n\x12\x0f\n\x0b\x44RYING_TUBE\x10\x0b\x12\x11\n\rALUMINUM_FOIL\x10\x0c\x12\x10\n\x0cTHERMOCOUPLE\x10\r\x12\x0b\n\x07\x42\x41LLOON\x10\x0e\x12\x0f\n\x0bGAS_ADAPTER\x10\x0f\x12\x16\n\x12PRESSURE_REGULATOR\x10\x10\x12\x11\n\rRELEASE_VALVE\x10\x11\"\xe8\x01\n\x11VesselPreparation\x12:\n\x04type\x18\x01 \x01(\x0e\x32,.ord.VesselPreparation.VesselPreparationType\x12\x0f\n\x07\x64\x65tails\x18\x02 \x01(\t\"\x85\x01\n\x15VesselPreparationType\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\n\n\x06\x43USTOM\x10\x01\x12\x08\n\x04NONE\x10\x02\x12\x0e\n\nOVEN_DRIED\x10\x03\x12\x0f\n\x0b\x46LAME_DRIED\x10\x04\x12\x18\n\x14\x45VACUATED_BACKFILLED\x10\x05\x12\n\n\x06PURGED\x10\x06\"\xa0\x04\n\rReactionSetup\x12\x1b\n\x06vessel\x18\x01 \x01(\x0b\x32\x0b.ord.Vessel\x12\x19\n\x0cis_automated\x18\x02 \x01(\x08H\x00\x88\x01\x01\x12\x1b\n\x13\x61utomation_platform\x18\x03 \x01(\t\x12?\n\x0f\x61utomation_code\x18\x04 \x03(\x0b\x32&.ord.ReactionSetup.AutomationCodeEntry\x12;\n\x0b\x65nvironment\x18\x05 \x01(\x0b\x32&.ord.ReactionSetup.ReactionEnvironment\x1a@\n\x13\x41utomationCodeEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x18\n\x05value\x18\x02 \x01(\x0b\x32\t.ord.Data:\x02\x38\x01\x1a\xe8\x01\n\x13ReactionEnvironment\x12L\n\x04type\x18\x01 \x01(\x0e\x32>.ord.ReactionSetup.ReactionEnvironment.ReactionEnvironmentType\x12\x0f\n\x07\x64\x65tails\x18\x02 \x01(\t\"r\n\x17ReactionEnvironmentType\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\n\n\x06\x43USTOM\x10\x01\x12\r\n\tFUME_HOOD\x10\x02\x12\r\n\tBENCH_TOP\x10\x03\x12\r\n\tGLOVE_BOX\x10\x04\x12\r\n\tGLOVE_BAG\x10\x05\x42\x0f\n\r_is_automated\"\xb5\x03\n\x12ReactionConditions\x12/\n\x0btemperature\x18\x01 \x01(\x0b\x32\x1a.ord.TemperatureConditions\x12)\n\x08pressure\x18\x02 \x01(\x0b\x32\x17.ord.PressureConditions\x12)\n\x08stirring\x18\x03 \x01(\x0b\x32\x17.ord.StirringConditions\x12\x31\n\x0cillumination\x18\x04 \x01(\x0b\x32\x1b.ord.IlluminationConditions\x12\x39\n\x10\x65lectrochemistry\x18\x05 \x01(\x0b\x32\x1f.ord.ElectrochemistryConditions\x12!\n\x04\x66low\x18\x06 \x01(\x0b\x32\x13.ord.FlowConditions\x12\x13\n\x06reflux\x18\x07 \x01(\x08H\x00\x88\x01\x01\x12\x0f\n\x02ph\x18\x08 \x01(\x02H\x01\x88\x01\x01\x12#\n\x16\x63onditions_are_dynamic\x18\t \x01(\x08H\x02\x88\x01\x01\x12\x0f\n\x07\x64\x65tails\x18\n \x01(\tB\t\n\x07_refluxB\x05\n\x03_phB\x19\n\x17_conditions_are_dynamic\"\xe2\x06\n\x15TemperatureConditions\x12>\n\x07\x63ontrol\x18\x01 \x01(\x0b\x32-.ord.TemperatureConditions.TemperatureControl\x12\"\n\x08setpoint\x18\x02 \x01(\x0b\x32\x10.ord.Temperature\x12G\n\x0cmeasurements\x18\x03 \x03(\x0b\x32\x31.ord.TemperatureConditions.TemperatureMeasurement\x1a\xd4\x02\n\x12TemperatureControl\x12R\n\x04type\x18\x01 \x01(\x0e\x32\x44.ord.TemperatureConditions.TemperatureControl.TemperatureControlType\x12\x0f\n\x07\x64\x65tails\x18\x02 \x01(\t\"\xd8\x01\n\x16TemperatureControlType\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\n\n\x06\x43USTOM\x10\x01\x12\x0b\n\x07\x41MBIENT\x10\x02\x12\x0c\n\x08OIL_BATH\x10\x03\x12\x0e\n\nWATER_BATH\x10\x04\x12\r\n\tSAND_BATH\x10\x05\x12\x0c\n\x08ICE_BATH\x10\x06\x12\x16\n\x12\x44RY_ALUMINUM_PLATE\x10\x07\x12\r\n\tMICROWAVE\x10\x08\x12\x10\n\x0c\x44RY_ICE_BATH\x10\t\x12\x0b\n\x07\x41IR_FAN\x10\n\x12\x13\n\x0fLIQUID_NITROGEN\x10\x0b\x1a\xc4\x02\n\x16TemperatureMeasurement\x12Z\n\x04type\x18\x01 \x01(\x0e\x32L.ord.TemperatureConditions.TemperatureMeasurement.TemperatureMeasurementType\x12\x0f\n\x07\x64\x65tails\x18\x02 \x01(\t\x12\x17\n\x04time\x18\x03 \x01(\x0b\x32\t.ord.Time\x12%\n\x0btemperature\x18\x04 \x01(\x0b\x32\x10.ord.Temperature\"}\n\x1aTemperatureMeasurementType\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\n\n\x06\x43USTOM\x10\x01\x12\x19\n\x15THERMOCOUPLE_INTERNAL\x10\x02\x12\x19\n\x15THERMOCOUPLE_EXTERNAL\x10\x03\x12\x0c\n\x08INFRARED\x10\x04\"\x8c\x08\n\x12PressureConditions\x12\x38\n\x07\x63ontrol\x18\x01 \x01(\x0b\x32\'.ord.PressureConditions.PressureControl\x12\x1f\n\x08setpoint\x18\x02 \x01(\x0b\x32\r.ord.Pressure\x12\x36\n\natmosphere\x18\x03 \x01(\x0b\x32\".ord.PressureConditions.Atmosphere\x12\x41\n\x0cmeasurements\x18\x04 \x03(\x0b\x32+.ord.PressureConditions.PressureMeasurement\x1a\xe0\x01\n\x0fPressureControl\x12I\n\x04type\x18\x01 \x01(\x0e\x32;.ord.PressureConditions.PressureControl.PressureControlType\x12\x0f\n\x07\x64\x65tails\x18\x02 \x01(\t\"q\n\x13PressureControlType\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\n\n\x06\x43USTOM\x10\x01\x12\x0b\n\x07\x41MBIENT\x10\x02\x12\x13\n\x0fSLIGHT_POSITIVE\x10\x03\x12\n\n\x06SEALED\x10\x04\x12\x0f\n\x0bPRESSURIZED\x10\x05\x1a\xb5\x02\n\nAtmosphere\x12?\n\x04type\x18\x01 \x01(\x0e\x32\x31.ord.PressureConditions.Atmosphere.AtmosphereType\x12\x0f\n\x07\x64\x65tails\x18\x02 \x01(\t\"\xd4\x01\n\x0e\x41tmosphereType\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\n\n\x06\x43USTOM\x10\x01\x12\x07\n\x03\x41IR\x10\x02\x12\x0c\n\x08NITROGEN\x10\x03\x12\t\n\x05\x41RGON\x10\x04\x12\n\n\x06OXYGEN\x10\x05\x12\x0c\n\x08HYDROGEN\x10\x06\x12\x13\n\x0f\x43\x41RBON_MONOXIDE\x10\x07\x12\x12\n\x0e\x43\x41RBON_DIOXIDE\x10\x08\x12\x0b\n\x07METHANE\x10\t\x12\x0b\n\x07\x41MMONIA\x10\n\x12\t\n\x05OZONE\x10\x0b\x12\x0c\n\x08\x45THYLENE\x10\x0c\x12\r\n\tACETYLENE\x10\r\x1a\x84\x02\n\x13PressureMeasurement\x12Q\n\x04type\x18\x01 \x01(\x0e\x32\x43.ord.PressureConditions.PressureMeasurement.PressureMeasurementType\x12\x0f\n\x07\x64\x65tails\x18\x02 \x01(\t\x12\x17\n\x04time\x18\x03 \x01(\x0b\x32\t.ord.Time\x12\x1f\n\x08pressure\x18\x04 \x01(\x0b\x32\r.ord.Pressure\"O\n\x17PressureMeasurementType\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\n\n\x06\x43USTOM\x10\x01\x12\x17\n\x13PRESSURE_TRANSDUCER\x10\x02\"\xdc\x03\n\x12StirringConditions\x12\x38\n\x04type\x18\x01 \x01(\x0e\x32*.ord.StirringConditions.StirringMethodType\x12\x0f\n\x07\x64\x65tails\x18\x02 \x01(\t\x12\x32\n\x04rate\x18\x03 \x01(\x0b\x32$.ord.StirringConditions.StirringRate\x1a\xb5\x01\n\x0cStirringRate\x12\x43\n\x04type\x18\x01 \x01(\x0e\x32\x35.ord.StirringConditions.StirringRate.StirringRateType\x12\x0f\n\x07\x64\x65tails\x18\x02 \x01(\t\x12\x0b\n\x03rpm\x18\x03 \x01(\x05\"B\n\x10StirringRateType\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\x08\n\x04HIGH\x10\x01\x12\n\n\x06MEDIUM\x10\x02\x12\x07\n\x03LOW\x10\x03\"\x8e\x01\n\x12StirringMethodType\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\n\n\x06\x43USTOM\x10\x01\x12\x08\n\x04NONE\x10\x02\x12\x0c\n\x08STIR_BAR\x10\x03\x12\x12\n\x0eOVERHEAD_MIXER\x10\x04\x12\r\n\tAGITATION\x10\x05\x12\x10\n\x0c\x42\x41LL_MILLING\x10\x06\x12\x0e\n\nSONICATION\x10\x07\"\xe8\x02\n\x16IlluminationConditions\x12:\n\x04type\x18\x01 \x01(\x0e\x32,.ord.IlluminationConditions.IlluminationType\x12\x0f\n\x07\x64\x65tails\x18\x02 \x01(\t\x12(\n\x0fpeak_wavelength\x18\x03 \x01(\x0b\x32\x0f.ord.Wavelength\x12\r\n\x05\x63olor\x18\x04 \x01(\t\x12\'\n\x12\x64istance_to_vessel\x18\x05 \x01(\x0b\x32\x0b.ord.Length\"\x9e\x01\n\x10IlluminationType\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\n\n\x06\x43USTOM\x10\x01\x12\x0b\n\x07\x41MBIENT\x10\x02\x12\x08\n\x04\x44\x41RK\x10\x03\x12\x07\n\x03LED\x10\x04\x12\x10\n\x0cHALOGEN_LAMP\x10\x05\x12\x12\n\x0e\x44\x45UTERIUM_LAMP\x10\x06\x12\x13\n\x0fSOLAR_SIMULATOR\x10\x07\x12\x12\n\x0e\x42ROAD_SPECTRUM\x10\x08\"\xe0\x06\n\x1a\x45lectrochemistryConditions\x12\x42\n\x04type\x18\x01 \x01(\x0e\x32\x34.ord.ElectrochemistryConditions.ElectrochemistryType\x12\x0f\n\x07\x64\x65tails\x18\x02 \x01(\t\x12\x1d\n\x07\x63urrent\x18\x03 \x01(\x0b\x32\x0c.ord.Current\x12\x1d\n\x07voltage\x18\x04 \x01(\x0b\x32\x0c.ord.Voltage\x12\x16\n\x0e\x61node_material\x18\x05 \x01(\t\x12\x18\n\x10\x63\x61thode_material\x18\x06 \x01(\t\x12)\n\x14\x65lectrode_separation\x18\x07 \x01(\x0b\x32\x0b.ord.Length\x12Q\n\x0cmeasurements\x18\x08 \x03(\x0b\x32;.ord.ElectrochemistryConditions.ElectrochemistryMeasurement\x12\x42\n\x04\x63\x65ll\x18\t \x01(\x0b\x32\x34.ord.ElectrochemistryConditions.ElectrochemistryCell\x1at\n\x1b\x45lectrochemistryMeasurement\x12\x17\n\x04time\x18\x01 \x01(\x0b\x32\t.ord.Time\x12\x1d\n\x07\x63urrent\x18\x02 \x01(\x0b\x32\x0c.ord.Current\x12\x1d\n\x07voltage\x18\x03 \x01(\x0b\x32\x0c.ord.Voltage\x1a\xe3\x01\n\x14\x45lectrochemistryCell\x12[\n\x04type\x18\x01 \x01(\x0e\x32M.ord.ElectrochemistryConditions.ElectrochemistryCell.ElectrochemistryCellType\x12\x0f\n\x07\x64\x65tails\x18\x02 \x01(\t\"]\n\x18\x45lectrochemistryCellType\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\n\n\x06\x43USTOM\x10\x01\x12\x10\n\x0c\x44IVIDED_CELL\x10\x02\x12\x12\n\x0eUNDIVIDED_CELL\x10\x03\"_\n\x14\x45lectrochemistryType\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\n\n\x06\x43USTOM\x10\x01\x12\x14\n\x10\x43ONSTANT_CURRENT\x10\x02\x12\x14\n\x10\x43ONSTANT_VOLTAGE\x10\x03\"\x94\x04\n\x0e\x46lowConditions\x12*\n\x04type\x18\x01 \x01(\x0e\x32\x1c.ord.FlowConditions.FlowType\x12\x0f\n\x07\x64\x65tails\x18\x02 \x01(\t\x12\x11\n\tpump_type\x18\x03 \x01(\t\x12*\n\x06tubing\x18\x04 \x01(\x0b\x32\x1a.ord.FlowConditions.Tubing\x1a\x88\x02\n\x06Tubing\x12\x33\n\x04type\x18\x01 \x01(\x0e\x32%.ord.FlowConditions.Tubing.TubingType\x12\x0f\n\x07\x64\x65tails\x18\x02 \x01(\t\x12\x1d\n\x08\x64iameter\x18\x03 \x01(\x0b\x32\x0b.ord.Length\"\x98\x01\n\nTubingType\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\n\n\x06\x43USTOM\x10\x01\x12\t\n\x05STEEL\x10\x02\x12\n\n\x06\x43OPPER\x10\x03\x12\x07\n\x03PFA\x10\x04\x12\x07\n\x03\x46\x45P\x10\x05\x12\x0c\n\x08TEFLONAF\x10\x06\x12\x08\n\x04PTFE\x10\x07\x12\t\n\x05GLASS\x10\x08\x12\n\n\x06QUARTZ\x10\t\x12\x0b\n\x07SILICON\x10\n\x12\x08\n\x04PDMS\x10\x0b\"{\n\x08\x46lowType\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\n\n\x06\x43USTOM\x10\x01\x12\x15\n\x11PLUG_FLOW_REACTOR\x10\x02\x12#\n\x1f\x43ONTINUOUS_STIRRED_TANK_REACTOR\x10\x03\x12\x16\n\x12PACKED_BED_REACTOR\x10\x04\"\xc0\x03\n\rReactionNotes\x12\x1d\n\x10is_heterogeneous\x18\x01 \x01(\x08H\x00\x88\x01\x01\x12\x1e\n\x11\x66orms_precipitate\x18\x02 \x01(\x08H\x01\x88\x01\x01\x12\x1a\n\ris_exothermic\x18\x03 \x01(\x08H\x02\x88\x01\x01\x12\x16\n\toffgasses\x18\x04 \x01(\x08H\x03\x88\x01\x01\x12%\n\x18is_sensitive_to_moisture\x18\x05 \x01(\x08H\x04\x88\x01\x01\x12#\n\x16is_sensitive_to_oxygen\x18\x06 \x01(\x08H\x05\x88\x01\x01\x12\"\n\x15is_sensitive_to_light\x18\x07 \x01(\x08H\x06\x88\x01\x01\x12\x14\n\x0csafety_notes\x18\x08 \x01(\t\x12\x19\n\x11procedure_details\x18\t \x01(\tB\x13\n\x11_is_heterogeneousB\x14\n\x12_forms_precipitateB\x10\n\x0e_is_exothermicB\x0c\n\n_offgassesB\x1b\n\x19_is_sensitive_to_moistureB\x19\n\x17_is_sensitive_to_oxygenB\x18\n\x16_is_sensitive_to_light\"Y\n\x13ReactionObservation\x12\x17\n\x04time\x18\x01 \x01(\x0b\x32\t.ord.Time\x12\x0f\n\x07\x63omment\x18\x02 \x01(\t\x12\x18\n\x05image\x18\x03 \x01(\x0b\x32\t.ord.Data\"\xcb\x05\n\x0eReactionWorkup\x12\x34\n\x04type\x18\x01 \x01(\x0e\x32&.ord.ReactionWorkup.ReactionWorkupType\x12\x0f\n\x07\x64\x65tails\x18\x02 \x01(\t\x12\x1b\n\x08\x64uration\x18\x03 \x01(\x0b\x32\t.ord.Time\x12!\n\x05input\x18\x04 \x01(\x0b\x32\x12.ord.ReactionInput\x12\x1b\n\x06\x61mount\x18\x05 \x01(\x0b\x32\x0b.ord.Amount\x12/\n\x0btemperature\x18\x06 \x01(\x0b\x32\x1a.ord.TemperatureConditions\x12\x12\n\nkeep_phase\x18\x07 \x01(\t\x12)\n\x08stirring\x18\x08 \x01(\x0b\x32\x17.ord.StirringConditions\x12\x16\n\ttarget_ph\x18\t \x01(\x02H\x00\x88\x01\x01\x12\x19\n\x0cis_automated\x18\n \x01(\x08H\x01\x88\x01\x01\"\xd2\x02\n\x12ReactionWorkupType\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\n\n\x06\x43USTOM\x10\x01\x12\x0c\n\x08\x41\x44\x44ITION\x10\x02\x12\x0b\n\x07\x41LIQUOT\x10\x03\x12\x0f\n\x0bTEMPERATURE\x10\x04\x12\x11\n\rCONCENTRATION\x10\x05\x12\x0e\n\nEXTRACTION\x10\x06\x12\x0e\n\nFILTRATION\x10\x07\x12\x08\n\x04WASH\x10\x08\x12\x11\n\rDRY_IN_VACUUM\x10\t\x12\x15\n\x11\x44RY_WITH_MATERIAL\x10\n\x12\x18\n\x14\x46LASH_CHROMATOGRAPHY\x10\x0b\x12\x18\n\x14OTHER_CHROMATOGRAPHY\x10\x0c\x12\x0e\n\nSCAVENGING\x10\r\x12\x08\n\x04WAIT\x10\x0e\x12\x0c\n\x08STIRRING\x10\x0f\x12\r\n\tPH_ADJUST\x10\x10\x12\x0f\n\x0b\x44ISSOLUTION\x10\x11\x12\x10\n\x0c\x44ISTILLATION\x10\x12\x42\x0c\n\n_target_phB\x0f\n\r_is_automated\"\xf6\x01\n\x0fReactionOutcome\x12 \n\rreaction_time\x18\x01 \x01(\x0b\x32\t.ord.Time\x12#\n\nconversion\x18\x02 \x01(\x0b\x32\x0f.ord.Percentage\x12&\n\x08products\x18\x03 \x03(\x0b\x32\x14.ord.ProductCompound\x12\x34\n\x08\x61nalyses\x18\x04 \x03(\x0b\x32\".ord.ReactionOutcome.AnalysesEntry\x1a>\n\rAnalysesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x1c\n\x05value\x18\x02 \x01(\x0b\x32\r.ord.Analysis:\x02\x38\x01\"\x96\x05\n\x0fProductCompound\x12,\n\x0bidentifiers\x18\x01 \x03(\x0b\x32\x17.ord.CompoundIdentifier\x12\x1f\n\x12is_desired_product\x18\x02 \x01(\x08H\x00\x88\x01\x01\x12-\n\x0cmeasurements\x18\x03 \x03(\x0b\x32\x17.ord.ProductMeasurement\x12\x16\n\x0eisolated_color\x18\x04 \x01(\t\x12-\n\x07texture\x18\x05 \x01(\x0b\x32\x1c.ord.ProductCompound.Texture\x12\x34\n\x08\x66\x65\x61tures\x18\x06 \x03(\x0b\x32\".ord.ProductCompound.FeaturesEntry\x12\x39\n\rreaction_role\x18\x07 \x01(\x0e\x32\".ord.ReactionRole.ReactionRoleType\x1a\xf9\x01\n\x07Texture\x12\x36\n\x04type\x18\x01 \x01(\x0e\x32(.ord.ProductCompound.Texture.TextureType\x12\x0f\n\x07\x64\x65tails\x18\x02 \x01(\t\"\xa4\x01\n\x0bTextureType\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\n\n\x06\x43USTOM\x10\x01\x12\n\n\x06POWDER\x10\x02\x12\x0b\n\x07\x43RYSTAL\x10\x03\x12\x07\n\x03OIL\x10\x04\x12\x13\n\x0f\x41MORPHOUS_SOLID\x10\x05\x12\x08\n\x04\x46OAM\x10\x06\x12\x07\n\x03WAX\x10\x07\x12\x0e\n\nSEMI_SOLID\x10\x08\x12\t\n\x05SOLID\x10\t\x12\n\n\x06LIQUID\x10\n\x12\x07\n\x03GAS\x10\x0b\x1a:\n\rFeaturesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x18\n\x05value\x18\x02 \x01(\x0b\x32\t.ord.Data:\x02\x38\x01\x42\x15\n\x13_is_desired_product\"\xfb\n\n\x12ProductMeasurement\x12\x14\n\x0c\x61nalysis_key\x18\x01 \x01(\t\x12<\n\x04type\x18\x02 \x01(\x0e\x32..ord.ProductMeasurement.ProductMeasurementType\x12\x0f\n\x07\x64\x65tails\x18\x03 \x01(\t\x12#\n\x16uses_internal_standard\x18\x04 \x01(\x08H\x01\x88\x01\x01\x12\x1a\n\ris_normalized\x18\x05 \x01(\x08H\x02\x88\x01\x01\x12$\n\x17uses_authentic_standard\x18\x06 \x01(\x08H\x03\x88\x01\x01\x12)\n\x12\x61uthentic_standard\x18\x07 \x01(\x0b\x32\r.ord.Compound\x12%\n\npercentage\x18\x08 \x01(\x0b\x32\x0f.ord.PercentageH\x00\x12&\n\x0b\x66loat_value\x18\t \x01(\x0b\x32\x0f.ord.FloatValueH\x00\x12\x16\n\x0cstring_value\x18\n \x01(\tH\x00\x12\x1d\n\x06\x61mount\x18\x0b \x01(\x0b\x32\x0b.ord.AmountH\x00\x12!\n\x0eretention_time\x18\x0c \x01(\x0b\x32\t.ord.Time\x12M\n\x11mass_spec_details\x18\r \x01(\x0b\x32\x32.ord.ProductMeasurement.MassSpecMeasurementDetails\x12\x38\n\x0bselectivity\x18\x0e \x01(\x0b\x32#.ord.ProductMeasurement.Selectivity\x12#\n\nwavelength\x18\x0f \x01(\x0b\x32\x0f.ord.Wavelength\x1a\xe9\x02\n\x1aMassSpecMeasurementDetails\x12X\n\x04type\x18\x01 \x01(\x0e\x32J.ord.ProductMeasurement.MassSpecMeasurementDetails.MassSpecMeasurementType\x12\x0f\n\x07\x64\x65tails\x18\x02 \x01(\t\x12\x1b\n\x0etic_minimum_mz\x18\x03 \x01(\x02H\x00\x88\x01\x01\x12\x1b\n\x0etic_maximum_mz\x18\x04 \x01(\x02H\x01\x88\x01\x01\x12\x12\n\neic_masses\x18\x05 \x03(\x02\"l\n\x17MassSpecMeasurementType\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\n\n\x06\x43USTOM\x10\x01\x12\x07\n\x03TIC\x10\x02\x12\x10\n\x0cTIC_POSITIVE\x10\x03\x12\x10\n\x0cTIC_NEGATIVE\x10\x04\x12\x07\n\x03\x45IC\x10\x05\x42\x11\n\x0f_tic_minimum_mzB\x11\n\x0f_tic_maximum_mz\x1a\xb9\x01\n\x0bSelectivity\x12\x41\n\x04type\x18\x01 \x01(\x0e\x32\x33.ord.ProductMeasurement.Selectivity.SelectivityType\x12\x0f\n\x07\x64\x65tails\x18\x02 \x01(\t\"V\n\x0fSelectivityType\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\n\n\x06\x43USTOM\x10\x01\x12\x06\n\x02\x45\x45\x10\x02\x12\x06\n\x02\x45R\x10\x03\x12\x06\n\x02\x44R\x10\x04\x12\x06\n\x02\x45Z\x10\x05\x12\x06\n\x02ZE\x10\x06\"\x9c\x01\n\x16ProductMeasurementType\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\n\n\x06\x43USTOM\x10\x01\x12\x0c\n\x08IDENTITY\x10\x02\x12\t\n\x05YIELD\x10\x03\x12\x0f\n\x0bSELECTIVITY\x10\x04\x12\n\n\x06PURITY\x10\x05\x12\x08\n\x04\x41REA\x10\x06\x12\n\n\x06\x43OUNTS\x10\x07\x12\r\n\tINTENSITY\x10\x08\x12\n\n\x06\x41MOUNT\x10\tB\x07\n\x05valueB\x19\n\x17_uses_internal_standardB\x10\n\x0e_is_normalizedB\x1a\n\x18_uses_authentic_standard\"\x19\n\x08\x44\x61teTime\x12\r\n\x05value\x18\x01 \x01(\t\"\xcc\x04\n\x08\x41nalysis\x12(\n\x04type\x18\x01 \x01(\x0e\x32\x1a.ord.Analysis.AnalysisType\x12\x0f\n\x07\x64\x65tails\x18\x02 \x01(\t\x12\x0f\n\x07\x63hmo_id\x18\x03 \x01(\x05\x12#\n\x16is_of_isolated_species\x18\x04 \x01(\x08H\x00\x88\x01\x01\x12%\n\x04\x64\x61ta\x18\x05 \x03(\x0b\x32\x17.ord.Analysis.DataEntry\x12\x1f\n\x17instrument_manufacturer\x18\x06 \x01(\t\x12\x31\n\x1ainstrument_last_calibrated\x18\x07 \x01(\x0b\x32\r.ord.DateTime\x1a\x36\n\tDataEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x18\n\x05value\x18\x02 \x01(\x0b\x32\t.ord.Data:\x02\x38\x01\"\x80\x02\n\x0c\x41nalysisType\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\n\n\x06\x43USTOM\x10\x01\x12\x06\n\x02LC\x10\x02\x12\x06\n\x02GC\x10\x03\x12\x06\n\x02IR\x10\x04\x12\n\n\x06NMR_1H\x10\x05\x12\x0b\n\x07NMR_13C\x10\x06\x12\r\n\tNMR_OTHER\x10\x07\x12\x06\n\x02MP\x10\x08\x12\x06\n\x02UV\x10\t\x12\x07\n\x03TLC\x10\n\x12\x06\n\x02MS\x10\x0b\x12\x08\n\x04HRMS\x10\x0c\x12\x08\n\x04MSMS\x10\r\x12\n\n\x06WEIGHT\x10\x0e\x12\x08\n\x04LCMS\x10\x0f\x12\x08\n\x04GCMS\x10\x10\x12\x08\n\x04\x45LSD\x10\x11\x12\x06\n\x02\x43\x44\x10\x12\x12\x07\n\x03SFC\x10\x13\x12\x07\n\x03\x45PR\x10\x14\x12\x07\n\x03XRD\x10\x15\x12\t\n\x05RAMAN\x10\x16\x12\x06\n\x02\x45\x44\x10\x17\x42\x19\n\x17_is_of_isolated_species\"\xab\x03\n\x12ReactionProvenance\x12!\n\x0c\x65xperimenter\x18\x01 \x01(\x0b\x32\x0b.ord.Person\x12\x0c\n\x04\x63ity\x18\x02 \x01(\t\x12\'\n\x10\x65xperiment_start\x18\x03 \x01(\x0b\x32\r.ord.DateTime\x12\x0b\n\x03\x64oi\x18\x04 \x01(\t\x12\x0e\n\x06patent\x18\x05 \x01(\t\x12\x17\n\x0fpublication_url\x18\x06 \x01(\t\x12(\n\x0erecord_created\x18\x07 \x01(\x0b\x32\x10.ord.RecordEvent\x12)\n\x0frecord_modified\x18\x08 \x03(\x0b\x32\x10.ord.RecordEvent\x12H\n\x11reaction_metadata\x18\t \x03(\x0b\x32-.ord.ReactionProvenance.ReactionMetadataEntry\x12\x15\n\x08is_mined\x18\n \x01(\x08H\x00\x88\x01\x01\x1a\x42\n\x15ReactionMetadataEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x18\n\x05value\x18\x02 \x01(\x0b\x32\t.ord.Data:\x02\x38\x01\x42\x0b\n\t_is_mined\"\\\n\x06Person\x12\x10\n\x08username\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\r\n\x05orcid\x18\x03 \x01(\t\x12\x14\n\x0corganization\x18\x04 \x01(\t\x12\r\n\x05\x65mail\x18\x05 \x01(\t\"X\n\x0bRecordEvent\x12\x1b\n\x04time\x18\x01 \x01(\x0b\x32\r.ord.DateTime\x12\x1b\n\x06person\x18\x02 \x01(\x0b\x32\x0b.ord.Person\x12\x0f\n\x07\x64\x65tails\x18\x03 \x01(\t\"\xb5\x01\n\x04Time\x12\x12\n\x05value\x18\x01 \x01(\x02H\x00\x88\x01\x01\x12\x16\n\tprecision\x18\x02 \x01(\x02H\x01\x88\x01\x01\x12!\n\x05units\x18\x03 \x01(\x0e\x32\x12.ord.Time.TimeUnit\"F\n\x08TimeUnit\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\x07\n\x03\x44\x41Y\x10\x04\x12\x08\n\x04HOUR\x10\x01\x12\n\n\x06MINUTE\x10\x02\x12\n\n\x06SECOND\x10\x03\x42\x08\n\x06_valueB\x0c\n\n_precision\"\xc0\x01\n\x04Mass\x12\x12\n\x05value\x18\x01 \x01(\x02H\x00\x88\x01\x01\x12\x16\n\tprecision\x18\x02 \x01(\x02H\x01\x88\x01\x01\x12!\n\x05units\x18\x03 \x01(\x0e\x32\x12.ord.Mass.MassUnit\"Q\n\x08MassUnit\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\x0c\n\x08KILOGRAM\x10\x01\x12\x08\n\x04GRAM\x10\x02\x12\r\n\tMILLIGRAM\x10\x03\x12\r\n\tMICROGRAM\x10\x04\x42\x08\n\x06_valueB\x0c\n\n_precision\"\xc4\x01\n\x05Moles\x12\x12\n\x05value\x18\x01 \x01(\x02H\x00\x88\x01\x01\x12\x16\n\tprecision\x18\x02 \x01(\x02H\x01\x88\x01\x01\x12#\n\x05units\x18\x03 \x01(\x0e\x32\x14.ord.Moles.MolesUnit\"R\n\tMolesUnit\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\x08\n\x04MOLE\x10\x01\x12\r\n\tMILLIMOLE\x10\x02\x12\r\n\tMICROMOLE\x10\x03\x12\x0c\n\x08NANOMOLE\x10\x04\x42\x08\n\x06_valueB\x0c\n\n_precision\"\xcc\x01\n\x06Volume\x12\x12\n\x05value\x18\x01 \x01(\x02H\x00\x88\x01\x01\x12\x16\n\tprecision\x18\x02 \x01(\x02H\x01\x88\x01\x01\x12%\n\x05units\x18\x03 \x01(\x0e\x32\x16.ord.Volume.VolumeUnit\"W\n\nVolumeUnit\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\t\n\x05LITER\x10\x01\x12\x0e\n\nMILLILITER\x10\x02\x12\x0e\n\nMICROLITER\x10\x03\x12\r\n\tNANOLITER\x10\x04\x42\x08\n\x06_valueB\x0c\n\n_precision\"\xd9\x01\n\rConcentration\x12\x12\n\x05value\x18\x01 \x01(\x02H\x00\x88\x01\x01\x12\x16\n\tprecision\x18\x02 \x01(\x02H\x01\x88\x01\x01\x12\x33\n\x05units\x18\x03 \x01(\x0e\x32$.ord.Concentration.ConcentrationUnit\"O\n\x11\x43oncentrationUnit\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\t\n\x05MOLAR\x10\x01\x12\x0e\n\nMILLIMOLAR\x10\x02\x12\x0e\n\nMICROMOLAR\x10\x03\x42\x08\n\x06_valueB\x0c\n\n_precision\"\xf7\x01\n\x08Pressure\x12\x12\n\x05value\x18\x01 \x01(\x02H\x00\x88\x01\x01\x12\x16\n\tprecision\x18\x02 \x01(\x02H\x01\x88\x01\x01\x12)\n\x05units\x18\x03 \x01(\x0e\x32\x1a.ord.Pressure.PressureUnit\"|\n\x0cPressureUnit\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\x07\n\x03\x42\x41R\x10\x01\x12\x0e\n\nATMOSPHERE\x10\x02\x12\x07\n\x03PSI\x10\x03\x12\x08\n\x04KPSI\x10\x04\x12\n\n\x06PASCAL\x10\x05\x12\x0e\n\nKILOPASCAL\x10\x06\x12\x08\n\x04TORR\x10\x07\x12\t\n\x05MM_HG\x10\x08\x42\x08\n\x06_valueB\x0c\n\n_precision\"\xcf\x01\n\x0bTemperature\x12\x12\n\x05value\x18\x01 \x01(\x02H\x00\x88\x01\x01\x12\x16\n\tprecision\x18\x02 \x01(\x02H\x01\x88\x01\x01\x12/\n\x05units\x18\x03 \x01(\x0e\x32 .ord.Temperature.TemperatureUnit\"K\n\x0fTemperatureUnit\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\x0b\n\x07\x43\x45LSIUS\x10\x01\x12\x0e\n\nFAHRENHEIT\x10\x02\x12\n\n\x06KELVIN\x10\x03\x42\x08\n\x06_valueB\x0c\n\n_precision\"\xb3\x01\n\x07\x43urrent\x12\x12\n\x05value\x18\x01 \x01(\x02H\x00\x88\x01\x01\x12\x16\n\tprecision\x18\x02 \x01(\x02H\x01\x88\x01\x01\x12\'\n\x05units\x18\x03 \x01(\x0e\x32\x18.ord.Current.CurrentUnit\";\n\x0b\x43urrentUnit\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\n\n\x06\x41MPERE\x10\x01\x12\x0f\n\x0bMILLIAMPERE\x10\x02\x42\x08\n\x06_valueB\x0c\n\n_precision\"\xaf\x01\n\x07Voltage\x12\x12\n\x05value\x18\x01 \x01(\x02H\x00\x88\x01\x01\x12\x16\n\tprecision\x18\x02 \x01(\x02H\x01\x88\x01\x01\x12\'\n\x05units\x18\x03 \x01(\x0e\x32\x18.ord.Voltage.VoltageUnit\"7\n\x0bVoltageUnit\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\x08\n\x04VOLT\x10\x01\x12\r\n\tMILLIVOLT\x10\x02\x42\x08\n\x06_valueB\x0c\n\n_precision\"\xd1\x01\n\x06Length\x12\x12\n\x05value\x18\x01 \x01(\x02H\x00\x88\x01\x01\x12\x16\n\tprecision\x18\x02 \x01(\x02H\x01\x88\x01\x01\x12%\n\x05units\x18\x03 \x01(\x0e\x32\x16.ord.Length.LengthUnit\"\\\n\nLengthUnit\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\x0e\n\nCENTIMETER\x10\x01\x12\x0e\n\nMILLIMETER\x10\x02\x12\t\n\x05METER\x10\x03\x12\x08\n\x04INCH\x10\x04\x12\x08\n\x04\x46OOT\x10\x05\x42\x08\n\x06_valueB\x0c\n\n_precision\"\xc1\x01\n\nWavelength\x12\x12\n\x05value\x18\x01 \x01(\x02H\x00\x88\x01\x01\x12\x16\n\tprecision\x18\x02 \x01(\x02H\x01\x88\x01\x01\x12-\n\x05units\x18\x03 \x01(\x0e\x32\x1e.ord.Wavelength.WavelengthUnit\"@\n\x0eWavelengthUnit\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\r\n\tNANOMETER\x10\x01\x12\x0e\n\nWAVENUMBER\x10\x02\x42\x08\n\x06_valueB\x0c\n\n_precision\"\xa0\x02\n\x08\x46lowRate\x12\x12\n\x05value\x18\x01 \x01(\x02H\x00\x88\x01\x01\x12\x16\n\tprecision\x18\x02 \x01(\x02H\x01\x88\x01\x01\x12)\n\x05units\x18\x03 \x01(\x0e\x32\x1a.ord.FlowRate.FlowRateUnit\"\xa4\x01\n\x0c\x46lowRateUnit\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\x19\n\x15MICROLITER_PER_MINUTE\x10\x01\x12\x19\n\x15MICROLITER_PER_SECOND\x10\x02\x12\x19\n\x15MILLILITER_PER_MINUTE\x10\x03\x12\x19\n\x15MILLILITER_PER_SECOND\x10\x04\x12\x17\n\x13MICROLITER_PER_HOUR\x10\x05\x42\x08\n\x06_valueB\x0c\n\n_precision\"P\n\nPercentage\x12\x12\n\x05value\x18\x01 \x01(\x02H\x00\x88\x01\x01\x12\x16\n\tprecision\x18\x02 \x01(\x02H\x01\x88\x01\x01\x42\x08\n\x06_valueB\x0c\n\n_precision\"P\n\nFloatValue\x12\x12\n\x05value\x18\x01 \x01(\x02H\x00\x88\x01\x01\x12\x16\n\tprecision\x18\x02 \x01(\x02H\x01\x88\x01\x01\x42\x08\n\x06_valueB\x0c\n\n_precision\"\xa1\x01\n\x04\x44\x61ta\x12\x15\n\x0b\x66loat_value\x18\x01 \x01(\x02H\x00\x12\x17\n\rinteger_value\x18\x02 \x01(\x05H\x00\x12\x15\n\x0b\x62ytes_value\x18\x03 \x01(\x0cH\x00\x12\x16\n\x0cstring_value\x18\x04 \x01(\tH\x00\x12\r\n\x03url\x18\x05 \x01(\tH\x00\x12\x13\n\x0b\x64\x65scription\x18\x06 \x01(\t\x12\x0e\n\x06\x66ormat\x18\x07 \x01(\tB\x06\n\x04kindb\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1ford-schema/proto/reaction.proto\x12\x03ord\"\xd9\x03\n\x08Reaction\x12,\n\x0bidentifiers\x18\x01 \x03(\x0b\x32\x17.ord.ReactionIdentifier\x12)\n\x06inputs\x18\x02 \x03(\x0b\x32\x19.ord.Reaction.InputsEntry\x12!\n\x05setup\x18\x03 \x01(\x0b\x32\x12.ord.ReactionSetup\x12+\n\nconditions\x18\x04 \x01(\x0b\x32\x17.ord.ReactionConditions\x12!\n\x05notes\x18\x05 \x01(\x0b\x32\x12.ord.ReactionNotes\x12.\n\x0cobservations\x18\x06 \x03(\x0b\x32\x18.ord.ReactionObservation\x12$\n\x07workups\x18\x07 \x03(\x0b\x32\x13.ord.ReactionWorkup\x12&\n\x08outcomes\x18\x08 \x03(\x0b\x32\x14.ord.ReactionOutcome\x12+\n\nprovenance\x18\t \x01(\x0b\x32\x17.ord.ReactionProvenance\x12\x13\n\x0breaction_id\x18\n \x01(\t\x1a\x41\n\x0bInputsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12!\n\x05value\x18\x02 \x01(\x0b\x32\x12.ord.ReactionInput:\x02\x38\x01\"\xa7\x02\n\x12ReactionIdentifier\x12<\n\x04type\x18\x01 \x01(\x0e\x32..ord.ReactionIdentifier.ReactionIdentifierType\x12\x0f\n\x07\x64\x65tails\x18\x02 \x01(\t\x12\r\n\x05value\x18\x03 \x01(\t\x12\x16\n\tis_mapped\x18\x04 \x01(\x08H\x00\x88\x01\x01\"\x8c\x01\n\x16ReactionIdentifierType\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\n\n\x06\x43USTOM\x10\x01\x12\x13\n\x0fREACTION_SMILES\x10\x02\x12\x15\n\x11REACTION_CXSMILES\x10\x06\x12\n\n\x06RDFILE\x10\x03\x12\n\n\x06RINCHI\x10\x04\x12\x11\n\rREACTION_TYPE\x10\x05\x42\x0c\n\n_is_mapped\"\xdb\x06\n\rReactionInput\x12!\n\ncomponents\x18\x01 \x03(\x0b\x32\r.ord.Compound\x12-\n\x10\x63rude_components\x18\x02 \x03(\x0b\x32\x13.ord.CrudeComponent\x12\x16\n\x0e\x61\x64\x64ition_order\x18\x03 \x01(\x05\x12 \n\raddition_time\x18\x04 \x01(\x0b\x32\t.ord.Time\x12\x38\n\x0e\x61\x64\x64ition_speed\x18\x05 \x01(\x0b\x32 .ord.ReactionInput.AdditionSpeed\x12$\n\x11\x61\x64\x64ition_duration\x18\x06 \x01(\x0b\x32\t.ord.Time\x12 \n\tflow_rate\x18\x07 \x01(\x0b\x32\r.ord.FlowRate\x12:\n\x0f\x61\x64\x64ition_device\x18\x08 \x01(\x0b\x32!.ord.ReactionInput.AdditionDevice\x12.\n\x14\x61\x64\x64ition_temperature\x18\t \x01(\x0b\x32\x10.ord.Temperature\x12\x1d\n\x07texture\x18\n \x01(\x0b\x32\x0c.ord.Texture\x1a\xdc\x01\n\rAdditionSpeed\x12@\n\x04type\x18\x01 \x01(\x0e\x32\x32.ord.ReactionInput.AdditionSpeed.AdditionSpeedType\x12\x0f\n\x07\x64\x65tails\x18\x02 \x01(\t\"x\n\x11\x41\x64\x64itionSpeedType\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\x0f\n\x0b\x41LL_AT_ONCE\x10\x01\x12\x08\n\x04\x46\x41ST\x10\x02\x12\x08\n\x04SLOW\x10\x03\x12\x0c\n\x08\x44ROPWISE\x10\x04\x12\x0e\n\nCONTINUOUS\x10\x05\x12\x0f\n\x0bPORTIONWISE\x10\x06\x1a\xd1\x01\n\x0e\x41\x64\x64itionDevice\x12\x42\n\x04type\x18\x01 \x01(\x0e\x32\x34.ord.ReactionInput.AdditionDevice.AdditionDeviceType\x12\x0f\n\x07\x64\x65tails\x18\x02 \x01(\t\"j\n\x12\x41\x64\x64itionDeviceType\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\n\n\x06\x43USTOM\x10\x01\x12\x08\n\x04NONE\x10\x02\x12\x0b\n\x07SYRINGE\x10\x03\x12\x0b\n\x07\x43\x41NNULA\x10\x04\x12\x13\n\x0f\x41\x44\x44ITION_FUNNEL\x10\x05\"\xd6\x01\n\x06\x41mount\x12\x19\n\x04mass\x18\x01 \x01(\x0b\x32\t.ord.MassH\x00\x12\x1b\n\x05moles\x18\x02 \x01(\x0b\x32\n.ord.MolesH\x00\x12\x1d\n\x06volume\x18\x03 \x01(\x0b\x32\x0b.ord.VolumeH\x00\x12+\n\nunmeasured\x18\x05 \x01(\x0b\x32\x15.ord.UnmeasuredAmountH\x00\x12$\n\x17volume_includes_solutes\x18\x04 \x01(\x08H\x01\x88\x01\x01\x42\x06\n\x04kindB\x1a\n\x18_volume_includes_solutes\"\xbe\x01\n\x10UnmeasuredAmount\x12\x38\n\x04type\x18\x01 \x01(\x0e\x32*.ord.UnmeasuredAmount.UnmeasuredAmountType\x12\x0f\n\x07\x64\x65tails\x18\x02 \x01(\t\"_\n\x14UnmeasuredAmountType\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\n\n\x06\x43USTOM\x10\x01\x12\r\n\tSATURATED\x10\x02\x12\r\n\tCATALYTIC\x10\x03\x12\x0c\n\x08TITRATED\x10\x04\"\xe9\x01\n\x07Texture\x12&\n\x04type\x18\x01 \x01(\x0e\x32\x18.ord.Texture.TextureType\x12\x0f\n\x07\x64\x65tails\x18\x02 \x01(\t\"\xa4\x01\n\x0bTextureType\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\n\n\x06\x43USTOM\x10\x01\x12\n\n\x06POWDER\x10\x02\x12\x0b\n\x07\x43RYSTAL\x10\x03\x12\x07\n\x03OIL\x10\x04\x12\x13\n\x0f\x41MORPHOUS_SOLID\x10\x05\x12\x08\n\x04\x46OAM\x10\x06\x12\x07\n\x03WAX\x10\x07\x12\x0e\n\nSEMI_SOLID\x10\x08\x12\t\n\x05SOLID\x10\t\x12\n\n\x06LIQUID\x10\n\x12\x07\n\x03GAS\x10\x0b\"\xcb\x01\n\x0e\x43rudeComponent\x12\x13\n\x0breaction_id\x18\x01 \x01(\t\x12\x1c\n\x0fincludes_workup\x18\x02 \x01(\x08H\x00\x88\x01\x01\x12\x1f\n\x12has_derived_amount\x18\x03 \x01(\x08H\x01\x88\x01\x01\x12\x1b\n\x06\x61mount\x18\x04 \x01(\x0b\x32\x0b.ord.Amount\x12\x1d\n\x07texture\x18\x05 \x01(\x0b\x32\x0c.ord.TextureB\x12\n\x10_includes_workupB\x15\n\x13_has_derived_amount\"\xc4\x04\n\x08\x43ompound\x12,\n\x0bidentifiers\x18\x01 \x03(\x0b\x32\x17.ord.CompoundIdentifier\x12\x1b\n\x06\x61mount\x18\x02 \x01(\x0b\x32\x0b.ord.Amount\x12\x39\n\rreaction_role\x18\x03 \x01(\x0e\x32\".ord.ReactionRole.ReactionRoleType\x12\x18\n\x0bis_limiting\x18\x04 \x01(\x08H\x00\x88\x01\x01\x12.\n\x0cpreparations\x18\x05 \x03(\x0b\x32\x18.ord.CompoundPreparation\x12$\n\x06source\x18\x06 \x01(\x0b\x32\x14.ord.Compound.Source\x12-\n\x08\x66\x65\x61tures\x18\x07 \x03(\x0b\x32\x1b.ord.Compound.FeaturesEntry\x12-\n\x08\x61nalyses\x18\x08 \x03(\x0b\x32\x1b.ord.Compound.AnalysesEntry\x12\x1d\n\x07texture\x18\t \x01(\x0b\x32\x0c.ord.Texture\x1a\x39\n\x06Source\x12\x0e\n\x06vendor\x18\x01 \x01(\t\x12\x12\n\ncatalog_id\x18\x02 \x01(\t\x12\x0b\n\x03lot\x18\x03 \x01(\t\x1a:\n\rFeaturesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x18\n\x05value\x18\x02 \x01(\x0b\x32\t.ord.Data:\x02\x38\x01\x1a>\n\rAnalysesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x1c\n\x05value\x18\x02 \x01(\x0b\x32\r.ord.Analysis:\x02\x38\x01\x42\x0e\n\x0c_is_limiting\"\xd3\x01\n\x0cReactionRole\"\xc2\x01\n\x10ReactionRoleType\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\x0c\n\x08REACTANT\x10\x01\x12\x0b\n\x07REAGENT\x10\x02\x12\x0b\n\x07SOLVENT\x10\x03\x12\x0c\n\x08\x43\x41TALYST\x10\x04\x12\n\n\x06WORKUP\x10\x05\x12\x15\n\x11INTERNAL_STANDARD\x10\x06\x12\x16\n\x12\x41UTHENTIC_STANDARD\x10\x07\x12\x0b\n\x07PRODUCT\x10\x08\x12\r\n\tBYPRODUCT\x10\t\x12\x10\n\x0cSIDE_PRODUCT\x10\n\"\xf6\x01\n\x13\x43ompoundPreparation\x12>\n\x04type\x18\x01 \x01(\x0e\x32\x30.ord.CompoundPreparation.CompoundPreparationType\x12\x0f\n\x07\x64\x65tails\x18\x02 \x01(\t\x12\x13\n\x0breaction_id\x18\x03 \x01(\t\"y\n\x17\x43ompoundPreparationType\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\n\n\x06\x43USTOM\x10\x01\x12\x08\n\x04NONE\x10\x02\x12\x0e\n\nREPURIFIED\x10\x03\x12\x0b\n\x07SPARGED\x10\x04\x12\t\n\x05\x44RIED\x10\x05\x12\x0f\n\x0bSYNTHESIZED\x10\x06\"\x82\x03\n\x12\x43ompoundIdentifier\x12<\n\x04type\x18\x01 \x01(\x0e\x32..ord.CompoundIdentifier.CompoundIdentifierType\x12\x0f\n\x07\x64\x65tails\x18\x02 \x01(\t\x12\r\n\x05value\x18\x03 \x01(\t\"\x8d\x02\n\x16\x43ompoundIdentifierType\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\n\n\x06\x43USTOM\x10\x01\x12\n\n\x06SMILES\x10\x02\x12\t\n\x05INCHI\x10\x03\x12\x0c\n\x08MOLBLOCK\x10\x04\x12\x0e\n\nIUPAC_NAME\x10\x05\x12\x08\n\x04NAME\x10\x06\x12\x0e\n\nCAS_NUMBER\x10\x07\x12\x0f\n\x0bPUBCHEM_CID\x10\x08\x12\x11\n\rCHEMSPIDER_ID\x10\t\x12\x0c\n\x08\x43XSMILES\x10\n\x12\r\n\tINCHI_KEY\x10\x0b\x12\x07\n\x03XYZ\x10\x0c\x12\x0e\n\nUNIPROT_ID\x10\r\x12\n\n\x06PDB_ID\x10\x0e\x12\x17\n\x13\x41MINO_ACID_SEQUENCE\x10\x0f\x12\x08\n\x04HELM\x10\x10\"\xa7\x04\n\x06Vessel\x12$\n\x04type\x18\x01 \x01(\x0e\x32\x16.ord.Vessel.VesselType\x12\x0f\n\x07\x64\x65tails\x18\x02 \x01(\t\x12%\n\x08material\x18\x03 \x01(\x0b\x32\x13.ord.VesselMaterial\x12,\n\x0cpreparations\x18\x04 \x03(\x0b\x32\x16.ord.VesselPreparation\x12*\n\x0b\x61ttachments\x18\x05 \x03(\x0b\x32\x15.ord.VesselAttachment\x12\x1b\n\x06volume\x18\x06 \x01(\x0b\x32\x0b.ord.Volume\x12\x11\n\tvessel_id\x18\x07 \x01(\t\x12\x10\n\x08position\x18\x08 \x01(\t\x12\x0b\n\x03row\x18\t \x01(\t\x12\x0b\n\x03\x63ol\x18\n \x01(\t\"\x88\x02\n\nVesselType\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\n\n\x06\x43USTOM\x10\x01\x12\x16\n\x12ROUND_BOTTOM_FLASK\x10\x02\x12\x08\n\x04VIAL\x10\x03\x12\x0e\n\nWELL_PLATE\x10\x04\x12\x12\n\x0eMICROWAVE_VIAL\x10\x05\x12\x08\n\x04TUBE\x10\x06\x12#\n\x1f\x43ONTINUOUS_STIRRED_TANK_REACTOR\x10\x07\x12\x16\n\x12PACKED_BED_REACTOR\x10\x08\x12\x0c\n\x08NMR_TUBE\x10\t\x12\x12\n\x0ePRESSURE_FLASK\x10\n\x12\x14\n\x10PRESSURE_REACTOR\x10\x0b\x12\x18\n\x14\x45LECTROCHEMICAL_CELL\x10\x0c\"\xcc\x01\n\x0eVesselMaterial\x12\x34\n\x04type\x18\x01 \x01(\x0e\x32&.ord.VesselMaterial.VesselMaterialType\x12\x0f\n\x07\x64\x65tails\x18\x02 \x01(\t\"s\n\x12VesselMaterialType\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\n\n\x06\x43USTOM\x10\x01\x12\t\n\x05GLASS\x10\x02\x12\x11\n\rPOLYPROPYLENE\x10\x03\x12\x0b\n\x07PLASTIC\x10\x04\x12\t\n\x05METAL\x10\x05\x12\n\n\x06QUARTZ\x10\x06\"\x97\x03\n\x10VesselAttachment\x12\x38\n\x04type\x18\x01 \x01(\x0e\x32*.ord.VesselAttachment.VesselAttachmentType\x12\x0f\n\x07\x64\x65tails\x18\x02 \x01(\t\"\xb7\x02\n\x14VesselAttachmentType\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\x08\n\x04NONE\x10\x01\x12\n\n\x06\x43USTOM\x10\x02\x12\n\n\x06SEPTUM\x10\x03\x12\x07\n\x03\x43\x41P\x10\x04\x12\x07\n\x03MAT\x10\x05\x12\x14\n\x10REFLUX_CONDENSER\x10\x06\x12\x0f\n\x0bVENT_NEEDLE\x10\x07\x12\x0e\n\nDEAN_STARK\x10\x08\x12\x0f\n\x0bVACUUM_TUBE\x10\t\x12\x13\n\x0f\x41\x44\x44ITION_FUNNEL\x10\n\x12\x0f\n\x0b\x44RYING_TUBE\x10\x0b\x12\x11\n\rALUMINUM_FOIL\x10\x0c\x12\x10\n\x0cTHERMOCOUPLE\x10\r\x12\x0b\n\x07\x42\x41LLOON\x10\x0e\x12\x0f\n\x0bGAS_ADAPTER\x10\x0f\x12\x16\n\x12PRESSURE_REGULATOR\x10\x10\x12\x11\n\rRELEASE_VALVE\x10\x11\"\xe8\x01\n\x11VesselPreparation\x12:\n\x04type\x18\x01 \x01(\x0e\x32,.ord.VesselPreparation.VesselPreparationType\x12\x0f\n\x07\x64\x65tails\x18\x02 \x01(\t\"\x85\x01\n\x15VesselPreparationType\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\n\n\x06\x43USTOM\x10\x01\x12\x08\n\x04NONE\x10\x02\x12\x0e\n\nOVEN_DRIED\x10\x03\x12\x0f\n\x0b\x46LAME_DRIED\x10\x04\x12\x18\n\x14\x45VACUATED_BACKFILLED\x10\x05\x12\n\n\x06PURGED\x10\x06\"\xa0\x04\n\rReactionSetup\x12\x1b\n\x06vessel\x18\x01 \x01(\x0b\x32\x0b.ord.Vessel\x12\x19\n\x0cis_automated\x18\x02 \x01(\x08H\x00\x88\x01\x01\x12\x1b\n\x13\x61utomation_platform\x18\x03 \x01(\t\x12?\n\x0f\x61utomation_code\x18\x04 \x03(\x0b\x32&.ord.ReactionSetup.AutomationCodeEntry\x12;\n\x0b\x65nvironment\x18\x05 \x01(\x0b\x32&.ord.ReactionSetup.ReactionEnvironment\x1a@\n\x13\x41utomationCodeEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x18\n\x05value\x18\x02 \x01(\x0b\x32\t.ord.Data:\x02\x38\x01\x1a\xe8\x01\n\x13ReactionEnvironment\x12L\n\x04type\x18\x01 \x01(\x0e\x32>.ord.ReactionSetup.ReactionEnvironment.ReactionEnvironmentType\x12\x0f\n\x07\x64\x65tails\x18\x02 \x01(\t\"r\n\x17ReactionEnvironmentType\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\n\n\x06\x43USTOM\x10\x01\x12\r\n\tFUME_HOOD\x10\x02\x12\r\n\tBENCH_TOP\x10\x03\x12\r\n\tGLOVE_BOX\x10\x04\x12\r\n\tGLOVE_BAG\x10\x05\x42\x0f\n\r_is_automated\"\xb5\x03\n\x12ReactionConditions\x12/\n\x0btemperature\x18\x01 \x01(\x0b\x32\x1a.ord.TemperatureConditions\x12)\n\x08pressure\x18\x02 \x01(\x0b\x32\x17.ord.PressureConditions\x12)\n\x08stirring\x18\x03 \x01(\x0b\x32\x17.ord.StirringConditions\x12\x31\n\x0cillumination\x18\x04 \x01(\x0b\x32\x1b.ord.IlluminationConditions\x12\x39\n\x10\x65lectrochemistry\x18\x05 \x01(\x0b\x32\x1f.ord.ElectrochemistryConditions\x12!\n\x04\x66low\x18\x06 \x01(\x0b\x32\x13.ord.FlowConditions\x12\x13\n\x06reflux\x18\x07 \x01(\x08H\x00\x88\x01\x01\x12\x0f\n\x02ph\x18\x08 \x01(\x02H\x01\x88\x01\x01\x12#\n\x16\x63onditions_are_dynamic\x18\t \x01(\x08H\x02\x88\x01\x01\x12\x0f\n\x07\x64\x65tails\x18\n \x01(\tB\t\n\x07_refluxB\x05\n\x03_phB\x19\n\x17_conditions_are_dynamic\"\xe2\x06\n\x15TemperatureConditions\x12>\n\x07\x63ontrol\x18\x01 \x01(\x0b\x32-.ord.TemperatureConditions.TemperatureControl\x12\"\n\x08setpoint\x18\x02 \x01(\x0b\x32\x10.ord.Temperature\x12G\n\x0cmeasurements\x18\x03 \x03(\x0b\x32\x31.ord.TemperatureConditions.TemperatureMeasurement\x1a\xd4\x02\n\x12TemperatureControl\x12R\n\x04type\x18\x01 \x01(\x0e\x32\x44.ord.TemperatureConditions.TemperatureControl.TemperatureControlType\x12\x0f\n\x07\x64\x65tails\x18\x02 \x01(\t\"\xd8\x01\n\x16TemperatureControlType\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\n\n\x06\x43USTOM\x10\x01\x12\x0b\n\x07\x41MBIENT\x10\x02\x12\x0c\n\x08OIL_BATH\x10\x03\x12\x0e\n\nWATER_BATH\x10\x04\x12\r\n\tSAND_BATH\x10\x05\x12\x0c\n\x08ICE_BATH\x10\x06\x12\x16\n\x12\x44RY_ALUMINUM_PLATE\x10\x07\x12\r\n\tMICROWAVE\x10\x08\x12\x10\n\x0c\x44RY_ICE_BATH\x10\t\x12\x0b\n\x07\x41IR_FAN\x10\n\x12\x13\n\x0fLIQUID_NITROGEN\x10\x0b\x1a\xc4\x02\n\x16TemperatureMeasurement\x12Z\n\x04type\x18\x01 \x01(\x0e\x32L.ord.TemperatureConditions.TemperatureMeasurement.TemperatureMeasurementType\x12\x0f\n\x07\x64\x65tails\x18\x02 \x01(\t\x12\x17\n\x04time\x18\x03 \x01(\x0b\x32\t.ord.Time\x12%\n\x0btemperature\x18\x04 \x01(\x0b\x32\x10.ord.Temperature\"}\n\x1aTemperatureMeasurementType\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\n\n\x06\x43USTOM\x10\x01\x12\x19\n\x15THERMOCOUPLE_INTERNAL\x10\x02\x12\x19\n\x15THERMOCOUPLE_EXTERNAL\x10\x03\x12\x0c\n\x08INFRARED\x10\x04\"\x8c\x08\n\x12PressureConditions\x12\x38\n\x07\x63ontrol\x18\x01 \x01(\x0b\x32\'.ord.PressureConditions.PressureControl\x12\x1f\n\x08setpoint\x18\x02 \x01(\x0b\x32\r.ord.Pressure\x12\x36\n\natmosphere\x18\x03 \x01(\x0b\x32\".ord.PressureConditions.Atmosphere\x12\x41\n\x0cmeasurements\x18\x04 \x03(\x0b\x32+.ord.PressureConditions.PressureMeasurement\x1a\xe0\x01\n\x0fPressureControl\x12I\n\x04type\x18\x01 \x01(\x0e\x32;.ord.PressureConditions.PressureControl.PressureControlType\x12\x0f\n\x07\x64\x65tails\x18\x02 \x01(\t\"q\n\x13PressureControlType\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\n\n\x06\x43USTOM\x10\x01\x12\x0b\n\x07\x41MBIENT\x10\x02\x12\x13\n\x0fSLIGHT_POSITIVE\x10\x03\x12\n\n\x06SEALED\x10\x04\x12\x0f\n\x0bPRESSURIZED\x10\x05\x1a\xb5\x02\n\nAtmosphere\x12?\n\x04type\x18\x01 \x01(\x0e\x32\x31.ord.PressureConditions.Atmosphere.AtmosphereType\x12\x0f\n\x07\x64\x65tails\x18\x02 \x01(\t\"\xd4\x01\n\x0e\x41tmosphereType\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\n\n\x06\x43USTOM\x10\x01\x12\x07\n\x03\x41IR\x10\x02\x12\x0c\n\x08NITROGEN\x10\x03\x12\t\n\x05\x41RGON\x10\x04\x12\n\n\x06OXYGEN\x10\x05\x12\x0c\n\x08HYDROGEN\x10\x06\x12\x13\n\x0f\x43\x41RBON_MONOXIDE\x10\x07\x12\x12\n\x0e\x43\x41RBON_DIOXIDE\x10\x08\x12\x0b\n\x07METHANE\x10\t\x12\x0b\n\x07\x41MMONIA\x10\n\x12\t\n\x05OZONE\x10\x0b\x12\x0c\n\x08\x45THYLENE\x10\x0c\x12\r\n\tACETYLENE\x10\r\x1a\x84\x02\n\x13PressureMeasurement\x12Q\n\x04type\x18\x01 \x01(\x0e\x32\x43.ord.PressureConditions.PressureMeasurement.PressureMeasurementType\x12\x0f\n\x07\x64\x65tails\x18\x02 \x01(\t\x12\x17\n\x04time\x18\x03 \x01(\x0b\x32\t.ord.Time\x12\x1f\n\x08pressure\x18\x04 \x01(\x0b\x32\r.ord.Pressure\"O\n\x17PressureMeasurementType\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\n\n\x06\x43USTOM\x10\x01\x12\x17\n\x13PRESSURE_TRANSDUCER\x10\x02\"\xdc\x03\n\x12StirringConditions\x12\x38\n\x04type\x18\x01 \x01(\x0e\x32*.ord.StirringConditions.StirringMethodType\x12\x0f\n\x07\x64\x65tails\x18\x02 \x01(\t\x12\x32\n\x04rate\x18\x03 \x01(\x0b\x32$.ord.StirringConditions.StirringRate\x1a\xb5\x01\n\x0cStirringRate\x12\x43\n\x04type\x18\x01 \x01(\x0e\x32\x35.ord.StirringConditions.StirringRate.StirringRateType\x12\x0f\n\x07\x64\x65tails\x18\x02 \x01(\t\x12\x0b\n\x03rpm\x18\x03 \x01(\x05\"B\n\x10StirringRateType\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\x08\n\x04HIGH\x10\x01\x12\n\n\x06MEDIUM\x10\x02\x12\x07\n\x03LOW\x10\x03\"\x8e\x01\n\x12StirringMethodType\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\n\n\x06\x43USTOM\x10\x01\x12\x08\n\x04NONE\x10\x02\x12\x0c\n\x08STIR_BAR\x10\x03\x12\x12\n\x0eOVERHEAD_MIXER\x10\x04\x12\r\n\tAGITATION\x10\x05\x12\x10\n\x0c\x42\x41LL_MILLING\x10\x06\x12\x0e\n\nSONICATION\x10\x07\"\xe8\x02\n\x16IlluminationConditions\x12:\n\x04type\x18\x01 \x01(\x0e\x32,.ord.IlluminationConditions.IlluminationType\x12\x0f\n\x07\x64\x65tails\x18\x02 \x01(\t\x12(\n\x0fpeak_wavelength\x18\x03 \x01(\x0b\x32\x0f.ord.Wavelength\x12\r\n\x05\x63olor\x18\x04 \x01(\t\x12\'\n\x12\x64istance_to_vessel\x18\x05 \x01(\x0b\x32\x0b.ord.Length\"\x9e\x01\n\x10IlluminationType\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\n\n\x06\x43USTOM\x10\x01\x12\x0b\n\x07\x41MBIENT\x10\x02\x12\x08\n\x04\x44\x41RK\x10\x03\x12\x07\n\x03LED\x10\x04\x12\x10\n\x0cHALOGEN_LAMP\x10\x05\x12\x12\n\x0e\x44\x45UTERIUM_LAMP\x10\x06\x12\x13\n\x0fSOLAR_SIMULATOR\x10\x07\x12\x12\n\x0e\x42ROAD_SPECTRUM\x10\x08\"\xe0\x06\n\x1a\x45lectrochemistryConditions\x12\x42\n\x04type\x18\x01 \x01(\x0e\x32\x34.ord.ElectrochemistryConditions.ElectrochemistryType\x12\x0f\n\x07\x64\x65tails\x18\x02 \x01(\t\x12\x1d\n\x07\x63urrent\x18\x03 \x01(\x0b\x32\x0c.ord.Current\x12\x1d\n\x07voltage\x18\x04 \x01(\x0b\x32\x0c.ord.Voltage\x12\x16\n\x0e\x61node_material\x18\x05 \x01(\t\x12\x18\n\x10\x63\x61thode_material\x18\x06 \x01(\t\x12)\n\x14\x65lectrode_separation\x18\x07 \x01(\x0b\x32\x0b.ord.Length\x12Q\n\x0cmeasurements\x18\x08 \x03(\x0b\x32;.ord.ElectrochemistryConditions.ElectrochemistryMeasurement\x12\x42\n\x04\x63\x65ll\x18\t \x01(\x0b\x32\x34.ord.ElectrochemistryConditions.ElectrochemistryCell\x1at\n\x1b\x45lectrochemistryMeasurement\x12\x17\n\x04time\x18\x01 \x01(\x0b\x32\t.ord.Time\x12\x1d\n\x07\x63urrent\x18\x02 \x01(\x0b\x32\x0c.ord.Current\x12\x1d\n\x07voltage\x18\x03 \x01(\x0b\x32\x0c.ord.Voltage\x1a\xe3\x01\n\x14\x45lectrochemistryCell\x12[\n\x04type\x18\x01 \x01(\x0e\x32M.ord.ElectrochemistryConditions.ElectrochemistryCell.ElectrochemistryCellType\x12\x0f\n\x07\x64\x65tails\x18\x02 \x01(\t\"]\n\x18\x45lectrochemistryCellType\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\n\n\x06\x43USTOM\x10\x01\x12\x10\n\x0c\x44IVIDED_CELL\x10\x02\x12\x12\n\x0eUNDIVIDED_CELL\x10\x03\"_\n\x14\x45lectrochemistryType\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\n\n\x06\x43USTOM\x10\x01\x12\x14\n\x10\x43ONSTANT_CURRENT\x10\x02\x12\x14\n\x10\x43ONSTANT_VOLTAGE\x10\x03\"\x94\x04\n\x0e\x46lowConditions\x12*\n\x04type\x18\x01 \x01(\x0e\x32\x1c.ord.FlowConditions.FlowType\x12\x0f\n\x07\x64\x65tails\x18\x02 \x01(\t\x12\x11\n\tpump_type\x18\x03 \x01(\t\x12*\n\x06tubing\x18\x04 \x01(\x0b\x32\x1a.ord.FlowConditions.Tubing\x1a\x88\x02\n\x06Tubing\x12\x33\n\x04type\x18\x01 \x01(\x0e\x32%.ord.FlowConditions.Tubing.TubingType\x12\x0f\n\x07\x64\x65tails\x18\x02 \x01(\t\x12\x1d\n\x08\x64iameter\x18\x03 \x01(\x0b\x32\x0b.ord.Length\"\x98\x01\n\nTubingType\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\n\n\x06\x43USTOM\x10\x01\x12\t\n\x05STEEL\x10\x02\x12\n\n\x06\x43OPPER\x10\x03\x12\x07\n\x03PFA\x10\x04\x12\x07\n\x03\x46\x45P\x10\x05\x12\x0c\n\x08TEFLONAF\x10\x06\x12\x08\n\x04PTFE\x10\x07\x12\t\n\x05GLASS\x10\x08\x12\n\n\x06QUARTZ\x10\t\x12\x0b\n\x07SILICON\x10\n\x12\x08\n\x04PDMS\x10\x0b\"{\n\x08\x46lowType\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\n\n\x06\x43USTOM\x10\x01\x12\x15\n\x11PLUG_FLOW_REACTOR\x10\x02\x12#\n\x1f\x43ONTINUOUS_STIRRED_TANK_REACTOR\x10\x03\x12\x16\n\x12PACKED_BED_REACTOR\x10\x04\"\xc0\x03\n\rReactionNotes\x12\x1d\n\x10is_heterogeneous\x18\x01 \x01(\x08H\x00\x88\x01\x01\x12\x1e\n\x11\x66orms_precipitate\x18\x02 \x01(\x08H\x01\x88\x01\x01\x12\x1a\n\ris_exothermic\x18\x03 \x01(\x08H\x02\x88\x01\x01\x12\x16\n\toffgasses\x18\x04 \x01(\x08H\x03\x88\x01\x01\x12%\n\x18is_sensitive_to_moisture\x18\x05 \x01(\x08H\x04\x88\x01\x01\x12#\n\x16is_sensitive_to_oxygen\x18\x06 \x01(\x08H\x05\x88\x01\x01\x12\"\n\x15is_sensitive_to_light\x18\x07 \x01(\x08H\x06\x88\x01\x01\x12\x14\n\x0csafety_notes\x18\x08 \x01(\t\x12\x19\n\x11procedure_details\x18\t \x01(\tB\x13\n\x11_is_heterogeneousB\x14\n\x12_forms_precipitateB\x10\n\x0e_is_exothermicB\x0c\n\n_offgassesB\x1b\n\x19_is_sensitive_to_moistureB\x19\n\x17_is_sensitive_to_oxygenB\x18\n\x16_is_sensitive_to_light\"Y\n\x13ReactionObservation\x12\x17\n\x04time\x18\x01 \x01(\x0b\x32\t.ord.Time\x12\x0f\n\x07\x63omment\x18\x02 \x01(\t\x12\x18\n\x05image\x18\x03 \x01(\x0b\x32\t.ord.Data\"\xcb\x05\n\x0eReactionWorkup\x12\x34\n\x04type\x18\x01 \x01(\x0e\x32&.ord.ReactionWorkup.ReactionWorkupType\x12\x0f\n\x07\x64\x65tails\x18\x02 \x01(\t\x12\x1b\n\x08\x64uration\x18\x03 \x01(\x0b\x32\t.ord.Time\x12!\n\x05input\x18\x04 \x01(\x0b\x32\x12.ord.ReactionInput\x12\x1b\n\x06\x61mount\x18\x05 \x01(\x0b\x32\x0b.ord.Amount\x12/\n\x0btemperature\x18\x06 \x01(\x0b\x32\x1a.ord.TemperatureConditions\x12\x12\n\nkeep_phase\x18\x07 \x01(\t\x12)\n\x08stirring\x18\x08 \x01(\x0b\x32\x17.ord.StirringConditions\x12\x16\n\ttarget_ph\x18\t \x01(\x02H\x00\x88\x01\x01\x12\x19\n\x0cis_automated\x18\n \x01(\x08H\x01\x88\x01\x01\"\xd2\x02\n\x12ReactionWorkupType\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\n\n\x06\x43USTOM\x10\x01\x12\x0c\n\x08\x41\x44\x44ITION\x10\x02\x12\x0b\n\x07\x41LIQUOT\x10\x03\x12\x0f\n\x0bTEMPERATURE\x10\x04\x12\x11\n\rCONCENTRATION\x10\x05\x12\x0e\n\nEXTRACTION\x10\x06\x12\x0e\n\nFILTRATION\x10\x07\x12\x08\n\x04WASH\x10\x08\x12\x11\n\rDRY_IN_VACUUM\x10\t\x12\x15\n\x11\x44RY_WITH_MATERIAL\x10\n\x12\x18\n\x14\x46LASH_CHROMATOGRAPHY\x10\x0b\x12\x18\n\x14OTHER_CHROMATOGRAPHY\x10\x0c\x12\x0e\n\nSCAVENGING\x10\r\x12\x08\n\x04WAIT\x10\x0e\x12\x0c\n\x08STIRRING\x10\x0f\x12\r\n\tPH_ADJUST\x10\x10\x12\x0f\n\x0b\x44ISSOLUTION\x10\x11\x12\x10\n\x0c\x44ISTILLATION\x10\x12\x42\x0c\n\n_target_phB\x0f\n\r_is_automated\"\xf6\x01\n\x0fReactionOutcome\x12 \n\rreaction_time\x18\x01 \x01(\x0b\x32\t.ord.Time\x12#\n\nconversion\x18\x02 \x01(\x0b\x32\x0f.ord.Percentage\x12&\n\x08products\x18\x03 \x03(\x0b\x32\x14.ord.ProductCompound\x12\x34\n\x08\x61nalyses\x18\x04 \x03(\x0b\x32\".ord.ReactionOutcome.AnalysesEntry\x1a>\n\rAnalysesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x1c\n\x05value\x18\x02 \x01(\x0b\x32\r.ord.Analysis:\x02\x38\x01\"\x8a\x03\n\x0fProductCompound\x12,\n\x0bidentifiers\x18\x01 \x03(\x0b\x32\x17.ord.CompoundIdentifier\x12\x1f\n\x12is_desired_product\x18\x02 \x01(\x08H\x00\x88\x01\x01\x12-\n\x0cmeasurements\x18\x03 \x03(\x0b\x32\x17.ord.ProductMeasurement\x12\x16\n\x0eisolated_color\x18\x04 \x01(\t\x12\x1d\n\x07texture\x18\x05 \x01(\x0b\x32\x0c.ord.Texture\x12\x34\n\x08\x66\x65\x61tures\x18\x06 \x03(\x0b\x32\".ord.ProductCompound.FeaturesEntry\x12\x39\n\rreaction_role\x18\x07 \x01(\x0e\x32\".ord.ReactionRole.ReactionRoleType\x1a:\n\rFeaturesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x18\n\x05value\x18\x02 \x01(\x0b\x32\t.ord.Data:\x02\x38\x01\x42\x15\n\x13_is_desired_product\"\xfb\n\n\x12ProductMeasurement\x12\x14\n\x0c\x61nalysis_key\x18\x01 \x01(\t\x12<\n\x04type\x18\x02 \x01(\x0e\x32..ord.ProductMeasurement.ProductMeasurementType\x12\x0f\n\x07\x64\x65tails\x18\x03 \x01(\t\x12#\n\x16uses_internal_standard\x18\x04 \x01(\x08H\x01\x88\x01\x01\x12\x1a\n\ris_normalized\x18\x05 \x01(\x08H\x02\x88\x01\x01\x12$\n\x17uses_authentic_standard\x18\x06 \x01(\x08H\x03\x88\x01\x01\x12)\n\x12\x61uthentic_standard\x18\x07 \x01(\x0b\x32\r.ord.Compound\x12%\n\npercentage\x18\x08 \x01(\x0b\x32\x0f.ord.PercentageH\x00\x12&\n\x0b\x66loat_value\x18\t \x01(\x0b\x32\x0f.ord.FloatValueH\x00\x12\x16\n\x0cstring_value\x18\n \x01(\tH\x00\x12\x1d\n\x06\x61mount\x18\x0b \x01(\x0b\x32\x0b.ord.AmountH\x00\x12!\n\x0eretention_time\x18\x0c \x01(\x0b\x32\t.ord.Time\x12M\n\x11mass_spec_details\x18\r \x01(\x0b\x32\x32.ord.ProductMeasurement.MassSpecMeasurementDetails\x12\x38\n\x0bselectivity\x18\x0e \x01(\x0b\x32#.ord.ProductMeasurement.Selectivity\x12#\n\nwavelength\x18\x0f \x01(\x0b\x32\x0f.ord.Wavelength\x1a\xe9\x02\n\x1aMassSpecMeasurementDetails\x12X\n\x04type\x18\x01 \x01(\x0e\x32J.ord.ProductMeasurement.MassSpecMeasurementDetails.MassSpecMeasurementType\x12\x0f\n\x07\x64\x65tails\x18\x02 \x01(\t\x12\x1b\n\x0etic_minimum_mz\x18\x03 \x01(\x02H\x00\x88\x01\x01\x12\x1b\n\x0etic_maximum_mz\x18\x04 \x01(\x02H\x01\x88\x01\x01\x12\x12\n\neic_masses\x18\x05 \x03(\x02\"l\n\x17MassSpecMeasurementType\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\n\n\x06\x43USTOM\x10\x01\x12\x07\n\x03TIC\x10\x02\x12\x10\n\x0cTIC_POSITIVE\x10\x03\x12\x10\n\x0cTIC_NEGATIVE\x10\x04\x12\x07\n\x03\x45IC\x10\x05\x42\x11\n\x0f_tic_minimum_mzB\x11\n\x0f_tic_maximum_mz\x1a\xb9\x01\n\x0bSelectivity\x12\x41\n\x04type\x18\x01 \x01(\x0e\x32\x33.ord.ProductMeasurement.Selectivity.SelectivityType\x12\x0f\n\x07\x64\x65tails\x18\x02 \x01(\t\"V\n\x0fSelectivityType\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\n\n\x06\x43USTOM\x10\x01\x12\x06\n\x02\x45\x45\x10\x02\x12\x06\n\x02\x45R\x10\x03\x12\x06\n\x02\x44R\x10\x04\x12\x06\n\x02\x45Z\x10\x05\x12\x06\n\x02ZE\x10\x06\"\x9c\x01\n\x16ProductMeasurementType\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\n\n\x06\x43USTOM\x10\x01\x12\x0c\n\x08IDENTITY\x10\x02\x12\t\n\x05YIELD\x10\x03\x12\x0f\n\x0bSELECTIVITY\x10\x04\x12\n\n\x06PURITY\x10\x05\x12\x08\n\x04\x41REA\x10\x06\x12\n\n\x06\x43OUNTS\x10\x07\x12\r\n\tINTENSITY\x10\x08\x12\n\n\x06\x41MOUNT\x10\tB\x07\n\x05valueB\x19\n\x17_uses_internal_standardB\x10\n\x0e_is_normalizedB\x1a\n\x18_uses_authentic_standard\"\x19\n\x08\x44\x61teTime\x12\r\n\x05value\x18\x01 \x01(\t\"\xcc\x04\n\x08\x41nalysis\x12(\n\x04type\x18\x01 \x01(\x0e\x32\x1a.ord.Analysis.AnalysisType\x12\x0f\n\x07\x64\x65tails\x18\x02 \x01(\t\x12\x0f\n\x07\x63hmo_id\x18\x03 \x01(\x05\x12#\n\x16is_of_isolated_species\x18\x04 \x01(\x08H\x00\x88\x01\x01\x12%\n\x04\x64\x61ta\x18\x05 \x03(\x0b\x32\x17.ord.Analysis.DataEntry\x12\x1f\n\x17instrument_manufacturer\x18\x06 \x01(\t\x12\x31\n\x1ainstrument_last_calibrated\x18\x07 \x01(\x0b\x32\r.ord.DateTime\x1a\x36\n\tDataEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x18\n\x05value\x18\x02 \x01(\x0b\x32\t.ord.Data:\x02\x38\x01\"\x80\x02\n\x0c\x41nalysisType\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\n\n\x06\x43USTOM\x10\x01\x12\x06\n\x02LC\x10\x02\x12\x06\n\x02GC\x10\x03\x12\x06\n\x02IR\x10\x04\x12\n\n\x06NMR_1H\x10\x05\x12\x0b\n\x07NMR_13C\x10\x06\x12\r\n\tNMR_OTHER\x10\x07\x12\x06\n\x02MP\x10\x08\x12\x06\n\x02UV\x10\t\x12\x07\n\x03TLC\x10\n\x12\x06\n\x02MS\x10\x0b\x12\x08\n\x04HRMS\x10\x0c\x12\x08\n\x04MSMS\x10\r\x12\n\n\x06WEIGHT\x10\x0e\x12\x08\n\x04LCMS\x10\x0f\x12\x08\n\x04GCMS\x10\x10\x12\x08\n\x04\x45LSD\x10\x11\x12\x06\n\x02\x43\x44\x10\x12\x12\x07\n\x03SFC\x10\x13\x12\x07\n\x03\x45PR\x10\x14\x12\x07\n\x03XRD\x10\x15\x12\t\n\x05RAMAN\x10\x16\x12\x06\n\x02\x45\x44\x10\x17\x42\x19\n\x17_is_of_isolated_species\"\xab\x03\n\x12ReactionProvenance\x12!\n\x0c\x65xperimenter\x18\x01 \x01(\x0b\x32\x0b.ord.Person\x12\x0c\n\x04\x63ity\x18\x02 \x01(\t\x12\'\n\x10\x65xperiment_start\x18\x03 \x01(\x0b\x32\r.ord.DateTime\x12\x0b\n\x03\x64oi\x18\x04 \x01(\t\x12\x0e\n\x06patent\x18\x05 \x01(\t\x12\x17\n\x0fpublication_url\x18\x06 \x01(\t\x12(\n\x0erecord_created\x18\x07 \x01(\x0b\x32\x10.ord.RecordEvent\x12)\n\x0frecord_modified\x18\x08 \x03(\x0b\x32\x10.ord.RecordEvent\x12H\n\x11reaction_metadata\x18\t \x03(\x0b\x32-.ord.ReactionProvenance.ReactionMetadataEntry\x12\x15\n\x08is_mined\x18\n \x01(\x08H\x00\x88\x01\x01\x1a\x42\n\x15ReactionMetadataEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x18\n\x05value\x18\x02 \x01(\x0b\x32\t.ord.Data:\x02\x38\x01\x42\x0b\n\t_is_mined\"\\\n\x06Person\x12\x10\n\x08username\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\r\n\x05orcid\x18\x03 \x01(\t\x12\x14\n\x0corganization\x18\x04 \x01(\t\x12\r\n\x05\x65mail\x18\x05 \x01(\t\"X\n\x0bRecordEvent\x12\x1b\n\x04time\x18\x01 \x01(\x0b\x32\r.ord.DateTime\x12\x1b\n\x06person\x18\x02 \x01(\x0b\x32\x0b.ord.Person\x12\x0f\n\x07\x64\x65tails\x18\x03 \x01(\t\"\xb5\x01\n\x04Time\x12\x12\n\x05value\x18\x01 \x01(\x02H\x00\x88\x01\x01\x12\x16\n\tprecision\x18\x02 \x01(\x02H\x01\x88\x01\x01\x12!\n\x05units\x18\x03 \x01(\x0e\x32\x12.ord.Time.TimeUnit\"F\n\x08TimeUnit\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\x07\n\x03\x44\x41Y\x10\x04\x12\x08\n\x04HOUR\x10\x01\x12\n\n\x06MINUTE\x10\x02\x12\n\n\x06SECOND\x10\x03\x42\x08\n\x06_valueB\x0c\n\n_precision\"\xc0\x01\n\x04Mass\x12\x12\n\x05value\x18\x01 \x01(\x02H\x00\x88\x01\x01\x12\x16\n\tprecision\x18\x02 \x01(\x02H\x01\x88\x01\x01\x12!\n\x05units\x18\x03 \x01(\x0e\x32\x12.ord.Mass.MassUnit\"Q\n\x08MassUnit\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\x0c\n\x08KILOGRAM\x10\x01\x12\x08\n\x04GRAM\x10\x02\x12\r\n\tMILLIGRAM\x10\x03\x12\r\n\tMICROGRAM\x10\x04\x42\x08\n\x06_valueB\x0c\n\n_precision\"\xc4\x01\n\x05Moles\x12\x12\n\x05value\x18\x01 \x01(\x02H\x00\x88\x01\x01\x12\x16\n\tprecision\x18\x02 \x01(\x02H\x01\x88\x01\x01\x12#\n\x05units\x18\x03 \x01(\x0e\x32\x14.ord.Moles.MolesUnit\"R\n\tMolesUnit\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\x08\n\x04MOLE\x10\x01\x12\r\n\tMILLIMOLE\x10\x02\x12\r\n\tMICROMOLE\x10\x03\x12\x0c\n\x08NANOMOLE\x10\x04\x42\x08\n\x06_valueB\x0c\n\n_precision\"\xcc\x01\n\x06Volume\x12\x12\n\x05value\x18\x01 \x01(\x02H\x00\x88\x01\x01\x12\x16\n\tprecision\x18\x02 \x01(\x02H\x01\x88\x01\x01\x12%\n\x05units\x18\x03 \x01(\x0e\x32\x16.ord.Volume.VolumeUnit\"W\n\nVolumeUnit\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\t\n\x05LITER\x10\x01\x12\x0e\n\nMILLILITER\x10\x02\x12\x0e\n\nMICROLITER\x10\x03\x12\r\n\tNANOLITER\x10\x04\x42\x08\n\x06_valueB\x0c\n\n_precision\"\xd9\x01\n\rConcentration\x12\x12\n\x05value\x18\x01 \x01(\x02H\x00\x88\x01\x01\x12\x16\n\tprecision\x18\x02 \x01(\x02H\x01\x88\x01\x01\x12\x33\n\x05units\x18\x03 \x01(\x0e\x32$.ord.Concentration.ConcentrationUnit\"O\n\x11\x43oncentrationUnit\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\t\n\x05MOLAR\x10\x01\x12\x0e\n\nMILLIMOLAR\x10\x02\x12\x0e\n\nMICROMOLAR\x10\x03\x42\x08\n\x06_valueB\x0c\n\n_precision\"\xf7\x01\n\x08Pressure\x12\x12\n\x05value\x18\x01 \x01(\x02H\x00\x88\x01\x01\x12\x16\n\tprecision\x18\x02 \x01(\x02H\x01\x88\x01\x01\x12)\n\x05units\x18\x03 \x01(\x0e\x32\x1a.ord.Pressure.PressureUnit\"|\n\x0cPressureUnit\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\x07\n\x03\x42\x41R\x10\x01\x12\x0e\n\nATMOSPHERE\x10\x02\x12\x07\n\x03PSI\x10\x03\x12\x08\n\x04KPSI\x10\x04\x12\n\n\x06PASCAL\x10\x05\x12\x0e\n\nKILOPASCAL\x10\x06\x12\x08\n\x04TORR\x10\x07\x12\t\n\x05MM_HG\x10\x08\x42\x08\n\x06_valueB\x0c\n\n_precision\"\xcf\x01\n\x0bTemperature\x12\x12\n\x05value\x18\x01 \x01(\x02H\x00\x88\x01\x01\x12\x16\n\tprecision\x18\x02 \x01(\x02H\x01\x88\x01\x01\x12/\n\x05units\x18\x03 \x01(\x0e\x32 .ord.Temperature.TemperatureUnit\"K\n\x0fTemperatureUnit\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\x0b\n\x07\x43\x45LSIUS\x10\x01\x12\x0e\n\nFAHRENHEIT\x10\x02\x12\n\n\x06KELVIN\x10\x03\x42\x08\n\x06_valueB\x0c\n\n_precision\"\xb3\x01\n\x07\x43urrent\x12\x12\n\x05value\x18\x01 \x01(\x02H\x00\x88\x01\x01\x12\x16\n\tprecision\x18\x02 \x01(\x02H\x01\x88\x01\x01\x12\'\n\x05units\x18\x03 \x01(\x0e\x32\x18.ord.Current.CurrentUnit\";\n\x0b\x43urrentUnit\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\n\n\x06\x41MPERE\x10\x01\x12\x0f\n\x0bMILLIAMPERE\x10\x02\x42\x08\n\x06_valueB\x0c\n\n_precision\"\xaf\x01\n\x07Voltage\x12\x12\n\x05value\x18\x01 \x01(\x02H\x00\x88\x01\x01\x12\x16\n\tprecision\x18\x02 \x01(\x02H\x01\x88\x01\x01\x12\'\n\x05units\x18\x03 \x01(\x0e\x32\x18.ord.Voltage.VoltageUnit\"7\n\x0bVoltageUnit\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\x08\n\x04VOLT\x10\x01\x12\r\n\tMILLIVOLT\x10\x02\x42\x08\n\x06_valueB\x0c\n\n_precision\"\xd1\x01\n\x06Length\x12\x12\n\x05value\x18\x01 \x01(\x02H\x00\x88\x01\x01\x12\x16\n\tprecision\x18\x02 \x01(\x02H\x01\x88\x01\x01\x12%\n\x05units\x18\x03 \x01(\x0e\x32\x16.ord.Length.LengthUnit\"\\\n\nLengthUnit\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\x0e\n\nCENTIMETER\x10\x01\x12\x0e\n\nMILLIMETER\x10\x02\x12\t\n\x05METER\x10\x03\x12\x08\n\x04INCH\x10\x04\x12\x08\n\x04\x46OOT\x10\x05\x42\x08\n\x06_valueB\x0c\n\n_precision\"\xc1\x01\n\nWavelength\x12\x12\n\x05value\x18\x01 \x01(\x02H\x00\x88\x01\x01\x12\x16\n\tprecision\x18\x02 \x01(\x02H\x01\x88\x01\x01\x12-\n\x05units\x18\x03 \x01(\x0e\x32\x1e.ord.Wavelength.WavelengthUnit\"@\n\x0eWavelengthUnit\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\r\n\tNANOMETER\x10\x01\x12\x0e\n\nWAVENUMBER\x10\x02\x42\x08\n\x06_valueB\x0c\n\n_precision\"\xa0\x02\n\x08\x46lowRate\x12\x12\n\x05value\x18\x01 \x01(\x02H\x00\x88\x01\x01\x12\x16\n\tprecision\x18\x02 \x01(\x02H\x01\x88\x01\x01\x12)\n\x05units\x18\x03 \x01(\x0e\x32\x1a.ord.FlowRate.FlowRateUnit\"\xa4\x01\n\x0c\x46lowRateUnit\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\x19\n\x15MICROLITER_PER_MINUTE\x10\x01\x12\x19\n\x15MICROLITER_PER_SECOND\x10\x02\x12\x19\n\x15MILLILITER_PER_MINUTE\x10\x03\x12\x19\n\x15MILLILITER_PER_SECOND\x10\x04\x12\x17\n\x13MICROLITER_PER_HOUR\x10\x05\x42\x08\n\x06_valueB\x0c\n\n_precision\"P\n\nPercentage\x12\x12\n\x05value\x18\x01 \x01(\x02H\x00\x88\x01\x01\x12\x16\n\tprecision\x18\x02 \x01(\x02H\x01\x88\x01\x01\x42\x08\n\x06_valueB\x0c\n\n_precision\"P\n\nFloatValue\x12\x12\n\x05value\x18\x01 \x01(\x02H\x00\x88\x01\x01\x12\x16\n\tprecision\x18\x02 \x01(\x02H\x01\x88\x01\x01\x42\x08\n\x06_valueB\x0c\n\n_precision\"\xa1\x01\n\x04\x44\x61ta\x12\x15\n\x0b\x66loat_value\x18\x01 \x01(\x02H\x00\x12\x17\n\rinteger_value\x18\x02 \x01(\x05H\x00\x12\x15\n\x0b\x62ytes_value\x18\x03 \x01(\x0cH\x00\x12\x16\n\x0cstring_value\x18\x04 \x01(\tH\x00\x12\r\n\x03url\x18\x05 \x01(\tH\x00\x12\x13\n\x0b\x64\x65scription\x18\x06 \x01(\t\x12\x0e\n\x06\x66ormat\x18\x07 \x01(\tB\x06\n\x04kindb\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) @@ -60,223 +60,223 @@ _globals['_REACTIONIDENTIFIER_REACTIONIDENTIFIERTYPE']._serialized_start=658 _globals['_REACTIONIDENTIFIER_REACTIONIDENTIFIERTYPE']._serialized_end=798 _globals['_REACTIONINPUT']._serialized_start=815 - _globals['_REACTIONINPUT']._serialized_end=1690 - _globals['_REACTIONINPUT_ADDITIONSPEED']._serialized_start=1258 - _globals['_REACTIONINPUT_ADDITIONSPEED']._serialized_end=1478 - _globals['_REACTIONINPUT_ADDITIONSPEED_ADDITIONSPEEDTYPE']._serialized_start=1358 - _globals['_REACTIONINPUT_ADDITIONSPEED_ADDITIONSPEEDTYPE']._serialized_end=1478 - _globals['_REACTIONINPUT_ADDITIONDEVICE']._serialized_start=1481 - _globals['_REACTIONINPUT_ADDITIONDEVICE']._serialized_end=1690 - _globals['_REACTIONINPUT_ADDITIONDEVICE_ADDITIONDEVICETYPE']._serialized_start=1584 - _globals['_REACTIONINPUT_ADDITIONDEVICE_ADDITIONDEVICETYPE']._serialized_end=1690 - _globals['_AMOUNT']._serialized_start=1693 - _globals['_AMOUNT']._serialized_end=1907 - _globals['_UNMEASUREDAMOUNT']._serialized_start=1910 - _globals['_UNMEASUREDAMOUNT']._serialized_end=2100 - _globals['_UNMEASUREDAMOUNT_UNMEASUREDAMOUNTTYPE']._serialized_start=2005 - _globals['_UNMEASUREDAMOUNT_UNMEASUREDAMOUNTTYPE']._serialized_end=2100 - _globals['_CRUDECOMPONENT']._serialized_start=2103 - _globals['_CRUDECOMPONENT']._serialized_end=2322 - _globals['_COMPOUND']._serialized_start=2325 - _globals['_COMPOUND']._serialized_end=2921 - _globals['_COMPOUND_SOURCE']._serialized_start=2724 - _globals['_COMPOUND_SOURCE']._serialized_end=2781 - _globals['_COMPOUND_FEATURESENTRY']._serialized_start=2783 - _globals['_COMPOUND_FEATURESENTRY']._serialized_end=2841 - _globals['_COMPOUND_ANALYSESENTRY']._serialized_start=2843 - _globals['_COMPOUND_ANALYSESENTRY']._serialized_end=2905 - _globals['_REACTIONROLE']._serialized_start=2924 - _globals['_REACTIONROLE']._serialized_end=3135 - _globals['_REACTIONROLE_REACTIONROLETYPE']._serialized_start=2941 - _globals['_REACTIONROLE_REACTIONROLETYPE']._serialized_end=3135 - _globals['_COMPOUNDPREPARATION']._serialized_start=3138 - _globals['_COMPOUNDPREPARATION']._serialized_end=3384 - _globals['_COMPOUNDPREPARATION_COMPOUNDPREPARATIONTYPE']._serialized_start=3263 - _globals['_COMPOUNDPREPARATION_COMPOUNDPREPARATIONTYPE']._serialized_end=3384 - _globals['_COMPOUNDIDENTIFIER']._serialized_start=3387 - _globals['_COMPOUNDIDENTIFIER']._serialized_end=3773 - _globals['_COMPOUNDIDENTIFIER_COMPOUNDIDENTIFIERTYPE']._serialized_start=3504 - _globals['_COMPOUNDIDENTIFIER_COMPOUNDIDENTIFIERTYPE']._serialized_end=3773 - _globals['_VESSEL']._serialized_start=3776 - _globals['_VESSEL']._serialized_end=4327 - _globals['_VESSEL_VESSELTYPE']._serialized_start=4063 - _globals['_VESSEL_VESSELTYPE']._serialized_end=4327 - _globals['_VESSELMATERIAL']._serialized_start=4330 - _globals['_VESSELMATERIAL']._serialized_end=4534 - _globals['_VESSELMATERIAL_VESSELMATERIALTYPE']._serialized_start=4419 - _globals['_VESSELMATERIAL_VESSELMATERIALTYPE']._serialized_end=4534 - _globals['_VESSELATTACHMENT']._serialized_start=4537 - _globals['_VESSELATTACHMENT']._serialized_end=4944 - _globals['_VESSELATTACHMENT_VESSELATTACHMENTTYPE']._serialized_start=4633 - _globals['_VESSELATTACHMENT_VESSELATTACHMENTTYPE']._serialized_end=4944 - _globals['_VESSELPREPARATION']._serialized_start=4947 - _globals['_VESSELPREPARATION']._serialized_end=5179 - _globals['_VESSELPREPARATION_VESSELPREPARATIONTYPE']._serialized_start=5046 - _globals['_VESSELPREPARATION_VESSELPREPARATIONTYPE']._serialized_end=5179 - _globals['_REACTIONSETUP']._serialized_start=5182 - _globals['_REACTIONSETUP']._serialized_end=5726 - _globals['_REACTIONSETUP_AUTOMATIONCODEENTRY']._serialized_start=5410 - _globals['_REACTIONSETUP_AUTOMATIONCODEENTRY']._serialized_end=5474 - _globals['_REACTIONSETUP_REACTIONENVIRONMENT']._serialized_start=5477 - _globals['_REACTIONSETUP_REACTIONENVIRONMENT']._serialized_end=5709 - _globals['_REACTIONSETUP_REACTIONENVIRONMENT_REACTIONENVIRONMENTTYPE']._serialized_start=5595 - _globals['_REACTIONSETUP_REACTIONENVIRONMENT_REACTIONENVIRONMENTTYPE']._serialized_end=5709 - _globals['_REACTIONCONDITIONS']._serialized_start=5729 - _globals['_REACTIONCONDITIONS']._serialized_end=6166 - _globals['_TEMPERATURECONDITIONS']._serialized_start=6169 - _globals['_TEMPERATURECONDITIONS']._serialized_end=7035 - _globals['_TEMPERATURECONDITIONS_TEMPERATURECONTROL']._serialized_start=6368 - _globals['_TEMPERATURECONDITIONS_TEMPERATURECONTROL']._serialized_end=6708 - _globals['_TEMPERATURECONDITIONS_TEMPERATURECONTROL_TEMPERATURECONTROLTYPE']._serialized_start=6492 - _globals['_TEMPERATURECONDITIONS_TEMPERATURECONTROL_TEMPERATURECONTROLTYPE']._serialized_end=6708 - _globals['_TEMPERATURECONDITIONS_TEMPERATUREMEASUREMENT']._serialized_start=6711 - _globals['_TEMPERATURECONDITIONS_TEMPERATUREMEASUREMENT']._serialized_end=7035 - _globals['_TEMPERATURECONDITIONS_TEMPERATUREMEASUREMENT_TEMPERATUREMEASUREMENTTYPE']._serialized_start=6910 - _globals['_TEMPERATURECONDITIONS_TEMPERATUREMEASUREMENT_TEMPERATUREMEASUREMENTTYPE']._serialized_end=7035 - _globals['_PRESSURECONDITIONS']._serialized_start=7038 - _globals['_PRESSURECONDITIONS']._serialized_end=8074 - _globals['_PRESSURECONDITIONS_PRESSURECONTROL']._serialized_start=7275 - _globals['_PRESSURECONDITIONS_PRESSURECONTROL']._serialized_end=7499 - _globals['_PRESSURECONDITIONS_PRESSURECONTROL_PRESSURECONTROLTYPE']._serialized_start=7386 - _globals['_PRESSURECONDITIONS_PRESSURECONTROL_PRESSURECONTROLTYPE']._serialized_end=7499 - _globals['_PRESSURECONDITIONS_ATMOSPHERE']._serialized_start=7502 - _globals['_PRESSURECONDITIONS_ATMOSPHERE']._serialized_end=7811 - _globals['_PRESSURECONDITIONS_ATMOSPHERE_ATMOSPHERETYPE']._serialized_start=7599 - _globals['_PRESSURECONDITIONS_ATMOSPHERE_ATMOSPHERETYPE']._serialized_end=7811 - _globals['_PRESSURECONDITIONS_PRESSUREMEASUREMENT']._serialized_start=7814 - _globals['_PRESSURECONDITIONS_PRESSUREMEASUREMENT']._serialized_end=8074 - _globals['_PRESSURECONDITIONS_PRESSUREMEASUREMENT_PRESSUREMEASUREMENTTYPE']._serialized_start=7995 - _globals['_PRESSURECONDITIONS_PRESSUREMEASUREMENT_PRESSUREMEASUREMENTTYPE']._serialized_end=8074 - _globals['_STIRRINGCONDITIONS']._serialized_start=8077 - _globals['_STIRRINGCONDITIONS']._serialized_end=8553 - _globals['_STIRRINGCONDITIONS_STIRRINGRATE']._serialized_start=8227 - _globals['_STIRRINGCONDITIONS_STIRRINGRATE']._serialized_end=8408 - _globals['_STIRRINGCONDITIONS_STIRRINGRATE_STIRRINGRATETYPE']._serialized_start=8342 - _globals['_STIRRINGCONDITIONS_STIRRINGRATE_STIRRINGRATETYPE']._serialized_end=8408 - _globals['_STIRRINGCONDITIONS_STIRRINGMETHODTYPE']._serialized_start=8411 - _globals['_STIRRINGCONDITIONS_STIRRINGMETHODTYPE']._serialized_end=8553 - _globals['_ILLUMINATIONCONDITIONS']._serialized_start=8556 - _globals['_ILLUMINATIONCONDITIONS']._serialized_end=8916 - _globals['_ILLUMINATIONCONDITIONS_ILLUMINATIONTYPE']._serialized_start=8758 - _globals['_ILLUMINATIONCONDITIONS_ILLUMINATIONTYPE']._serialized_end=8916 - _globals['_ELECTROCHEMISTRYCONDITIONS']._serialized_start=8919 - _globals['_ELECTROCHEMISTRYCONDITIONS']._serialized_end=9783 - _globals['_ELECTROCHEMISTRYCONDITIONS_ELECTROCHEMISTRYMEASUREMENT']._serialized_start=9340 - _globals['_ELECTROCHEMISTRYCONDITIONS_ELECTROCHEMISTRYMEASUREMENT']._serialized_end=9456 - _globals['_ELECTROCHEMISTRYCONDITIONS_ELECTROCHEMISTRYCELL']._serialized_start=9459 - _globals['_ELECTROCHEMISTRYCONDITIONS_ELECTROCHEMISTRYCELL']._serialized_end=9686 - _globals['_ELECTROCHEMISTRYCONDITIONS_ELECTROCHEMISTRYCELL_ELECTROCHEMISTRYCELLTYPE']._serialized_start=9593 - _globals['_ELECTROCHEMISTRYCONDITIONS_ELECTROCHEMISTRYCELL_ELECTROCHEMISTRYCELLTYPE']._serialized_end=9686 - _globals['_ELECTROCHEMISTRYCONDITIONS_ELECTROCHEMISTRYTYPE']._serialized_start=9688 - _globals['_ELECTROCHEMISTRYCONDITIONS_ELECTROCHEMISTRYTYPE']._serialized_end=9783 - _globals['_FLOWCONDITIONS']._serialized_start=9786 - _globals['_FLOWCONDITIONS']._serialized_end=10318 - _globals['_FLOWCONDITIONS_TUBING']._serialized_start=9929 - _globals['_FLOWCONDITIONS_TUBING']._serialized_end=10193 - _globals['_FLOWCONDITIONS_TUBING_TUBINGTYPE']._serialized_start=10041 - _globals['_FLOWCONDITIONS_TUBING_TUBINGTYPE']._serialized_end=10193 - _globals['_FLOWCONDITIONS_FLOWTYPE']._serialized_start=10195 - _globals['_FLOWCONDITIONS_FLOWTYPE']._serialized_end=10318 - _globals['_REACTIONNOTES']._serialized_start=10321 - _globals['_REACTIONNOTES']._serialized_end=10769 - _globals['_REACTIONOBSERVATION']._serialized_start=10771 - _globals['_REACTIONOBSERVATION']._serialized_end=10860 - _globals['_REACTIONWORKUP']._serialized_start=10863 - _globals['_REACTIONWORKUP']._serialized_end=11578 - _globals['_REACTIONWORKUP_REACTIONWORKUPTYPE']._serialized_start=11209 - _globals['_REACTIONWORKUP_REACTIONWORKUPTYPE']._serialized_end=11547 - _globals['_REACTIONOUTCOME']._serialized_start=11581 - _globals['_REACTIONOUTCOME']._serialized_end=11827 - _globals['_REACTIONOUTCOME_ANALYSESENTRY']._serialized_start=2843 - _globals['_REACTIONOUTCOME_ANALYSESENTRY']._serialized_end=2905 - _globals['_PRODUCTCOMPOUND']._serialized_start=11830 - _globals['_PRODUCTCOMPOUND']._serialized_end=12492 - _globals['_PRODUCTCOMPOUND_TEXTURE']._serialized_start=12160 - _globals['_PRODUCTCOMPOUND_TEXTURE']._serialized_end=12409 - _globals['_PRODUCTCOMPOUND_TEXTURE_TEXTURETYPE']._serialized_start=12245 - _globals['_PRODUCTCOMPOUND_TEXTURE_TEXTURETYPE']._serialized_end=12409 - _globals['_PRODUCTCOMPOUND_FEATURESENTRY']._serialized_start=2783 - _globals['_PRODUCTCOMPOUND_FEATURESENTRY']._serialized_end=2841 - _globals['_PRODUCTMEASUREMENT']._serialized_start=12495 - _globals['_PRODUCTMEASUREMENT']._serialized_end=13898 - _globals['_PRODUCTMEASUREMENT_MASSSPECMEASUREMENTDETAILS']._serialized_start=13108 - _globals['_PRODUCTMEASUREMENT_MASSSPECMEASUREMENTDETAILS']._serialized_end=13469 - _globals['_PRODUCTMEASUREMENT_MASSSPECMEASUREMENTDETAILS_MASSSPECMEASUREMENTTYPE']._serialized_start=13323 - _globals['_PRODUCTMEASUREMENT_MASSSPECMEASUREMENTDETAILS_MASSSPECMEASUREMENTTYPE']._serialized_end=13431 - _globals['_PRODUCTMEASUREMENT_SELECTIVITY']._serialized_start=13472 - _globals['_PRODUCTMEASUREMENT_SELECTIVITY']._serialized_end=13657 - _globals['_PRODUCTMEASUREMENT_SELECTIVITY_SELECTIVITYTYPE']._serialized_start=13571 - _globals['_PRODUCTMEASUREMENT_SELECTIVITY_SELECTIVITYTYPE']._serialized_end=13657 - _globals['_PRODUCTMEASUREMENT_PRODUCTMEASUREMENTTYPE']._serialized_start=13660 - _globals['_PRODUCTMEASUREMENT_PRODUCTMEASUREMENTTYPE']._serialized_end=13816 - _globals['_DATETIME']._serialized_start=13900 - _globals['_DATETIME']._serialized_end=13925 - _globals['_ANALYSIS']._serialized_start=13928 - _globals['_ANALYSIS']._serialized_end=14516 - _globals['_ANALYSIS_DATAENTRY']._serialized_start=14176 - _globals['_ANALYSIS_DATAENTRY']._serialized_end=14230 - _globals['_ANALYSIS_ANALYSISTYPE']._serialized_start=14233 - _globals['_ANALYSIS_ANALYSISTYPE']._serialized_end=14489 - _globals['_REACTIONPROVENANCE']._serialized_start=14519 - _globals['_REACTIONPROVENANCE']._serialized_end=14946 - _globals['_REACTIONPROVENANCE_REACTIONMETADATAENTRY']._serialized_start=14867 - _globals['_REACTIONPROVENANCE_REACTIONMETADATAENTRY']._serialized_end=14933 - _globals['_PERSON']._serialized_start=14948 - _globals['_PERSON']._serialized_end=15040 - _globals['_RECORDEVENT']._serialized_start=15042 - _globals['_RECORDEVENT']._serialized_end=15130 - _globals['_TIME']._serialized_start=15133 - _globals['_TIME']._serialized_end=15314 - _globals['_TIME_TIMEUNIT']._serialized_start=15220 - _globals['_TIME_TIMEUNIT']._serialized_end=15290 - _globals['_MASS']._serialized_start=15317 - _globals['_MASS']._serialized_end=15509 - _globals['_MASS_MASSUNIT']._serialized_start=15404 - _globals['_MASS_MASSUNIT']._serialized_end=15485 - _globals['_MOLES']._serialized_start=15512 - _globals['_MOLES']._serialized_end=15708 - _globals['_MOLES_MOLESUNIT']._serialized_start=15602 - _globals['_MOLES_MOLESUNIT']._serialized_end=15684 - _globals['_VOLUME']._serialized_start=15711 - _globals['_VOLUME']._serialized_end=15915 - _globals['_VOLUME_VOLUMEUNIT']._serialized_start=15804 - _globals['_VOLUME_VOLUMEUNIT']._serialized_end=15891 - _globals['_CONCENTRATION']._serialized_start=15918 - _globals['_CONCENTRATION']._serialized_end=16135 - _globals['_CONCENTRATION_CONCENTRATIONUNIT']._serialized_start=16032 - _globals['_CONCENTRATION_CONCENTRATIONUNIT']._serialized_end=16111 - _globals['_PRESSURE']._serialized_start=16138 - _globals['_PRESSURE']._serialized_end=16385 - _globals['_PRESSURE_PRESSUREUNIT']._serialized_start=16237 - _globals['_PRESSURE_PRESSUREUNIT']._serialized_end=16361 - _globals['_TEMPERATURE']._serialized_start=16388 - _globals['_TEMPERATURE']._serialized_end=16595 - _globals['_TEMPERATURE_TEMPERATUREUNIT']._serialized_start=16496 - _globals['_TEMPERATURE_TEMPERATUREUNIT']._serialized_end=16571 - _globals['_CURRENT']._serialized_start=16598 - _globals['_CURRENT']._serialized_end=16777 - _globals['_CURRENT_CURRENTUNIT']._serialized_start=16694 - _globals['_CURRENT_CURRENTUNIT']._serialized_end=16753 - _globals['_VOLTAGE']._serialized_start=16780 - _globals['_VOLTAGE']._serialized_end=16955 - _globals['_VOLTAGE_VOLTAGEUNIT']._serialized_start=16876 - _globals['_VOLTAGE_VOLTAGEUNIT']._serialized_end=16931 - _globals['_LENGTH']._serialized_start=16958 - _globals['_LENGTH']._serialized_end=17167 - _globals['_LENGTH_LENGTHUNIT']._serialized_start=17051 - _globals['_LENGTH_LENGTHUNIT']._serialized_end=17143 - _globals['_WAVELENGTH']._serialized_start=17170 - _globals['_WAVELENGTH']._serialized_end=17363 - _globals['_WAVELENGTH_WAVELENGTHUNIT']._serialized_start=17275 - _globals['_WAVELENGTH_WAVELENGTHUNIT']._serialized_end=17339 - _globals['_FLOWRATE']._serialized_start=17366 - _globals['_FLOWRATE']._serialized_end=17654 - _globals['_FLOWRATE_FLOWRATEUNIT']._serialized_start=17466 - _globals['_FLOWRATE_FLOWRATEUNIT']._serialized_end=17630 - _globals['_PERCENTAGE']._serialized_start=17656 - _globals['_PERCENTAGE']._serialized_end=17736 - _globals['_FLOATVALUE']._serialized_start=17738 - _globals['_FLOATVALUE']._serialized_end=17818 - _globals['_DATA']._serialized_start=17821 - _globals['_DATA']._serialized_end=17982 + _globals['_REACTIONINPUT']._serialized_end=1674 + _globals['_REACTIONINPUT_ADDITIONSPEED']._serialized_start=1242 + _globals['_REACTIONINPUT_ADDITIONSPEED']._serialized_end=1462 + _globals['_REACTIONINPUT_ADDITIONSPEED_ADDITIONSPEEDTYPE']._serialized_start=1342 + _globals['_REACTIONINPUT_ADDITIONSPEED_ADDITIONSPEEDTYPE']._serialized_end=1462 + _globals['_REACTIONINPUT_ADDITIONDEVICE']._serialized_start=1465 + _globals['_REACTIONINPUT_ADDITIONDEVICE']._serialized_end=1674 + _globals['_REACTIONINPUT_ADDITIONDEVICE_ADDITIONDEVICETYPE']._serialized_start=1568 + _globals['_REACTIONINPUT_ADDITIONDEVICE_ADDITIONDEVICETYPE']._serialized_end=1674 + _globals['_AMOUNT']._serialized_start=1677 + _globals['_AMOUNT']._serialized_end=1891 + _globals['_UNMEASUREDAMOUNT']._serialized_start=1894 + _globals['_UNMEASUREDAMOUNT']._serialized_end=2084 + _globals['_UNMEASUREDAMOUNT_UNMEASUREDAMOUNTTYPE']._serialized_start=1989 + _globals['_UNMEASUREDAMOUNT_UNMEASUREDAMOUNTTYPE']._serialized_end=2084 + _globals['_TEXTURE']._serialized_start=2087 + _globals['_TEXTURE']._serialized_end=2320 + _globals['_TEXTURE_TEXTURETYPE']._serialized_start=2156 + _globals['_TEXTURE_TEXTURETYPE']._serialized_end=2320 + _globals['_CRUDECOMPONENT']._serialized_start=2323 + _globals['_CRUDECOMPONENT']._serialized_end=2526 + _globals['_COMPOUND']._serialized_start=2529 + _globals['_COMPOUND']._serialized_end=3109 + _globals['_COMPOUND_SOURCE']._serialized_start=2912 + _globals['_COMPOUND_SOURCE']._serialized_end=2969 + _globals['_COMPOUND_FEATURESENTRY']._serialized_start=2971 + _globals['_COMPOUND_FEATURESENTRY']._serialized_end=3029 + _globals['_COMPOUND_ANALYSESENTRY']._serialized_start=3031 + _globals['_COMPOUND_ANALYSESENTRY']._serialized_end=3093 + _globals['_REACTIONROLE']._serialized_start=3112 + _globals['_REACTIONROLE']._serialized_end=3323 + _globals['_REACTIONROLE_REACTIONROLETYPE']._serialized_start=3129 + _globals['_REACTIONROLE_REACTIONROLETYPE']._serialized_end=3323 + _globals['_COMPOUNDPREPARATION']._serialized_start=3326 + _globals['_COMPOUNDPREPARATION']._serialized_end=3572 + _globals['_COMPOUNDPREPARATION_COMPOUNDPREPARATIONTYPE']._serialized_start=3451 + _globals['_COMPOUNDPREPARATION_COMPOUNDPREPARATIONTYPE']._serialized_end=3572 + _globals['_COMPOUNDIDENTIFIER']._serialized_start=3575 + _globals['_COMPOUNDIDENTIFIER']._serialized_end=3961 + _globals['_COMPOUNDIDENTIFIER_COMPOUNDIDENTIFIERTYPE']._serialized_start=3692 + _globals['_COMPOUNDIDENTIFIER_COMPOUNDIDENTIFIERTYPE']._serialized_end=3961 + _globals['_VESSEL']._serialized_start=3964 + _globals['_VESSEL']._serialized_end=4515 + _globals['_VESSEL_VESSELTYPE']._serialized_start=4251 + _globals['_VESSEL_VESSELTYPE']._serialized_end=4515 + _globals['_VESSELMATERIAL']._serialized_start=4518 + _globals['_VESSELMATERIAL']._serialized_end=4722 + _globals['_VESSELMATERIAL_VESSELMATERIALTYPE']._serialized_start=4607 + _globals['_VESSELMATERIAL_VESSELMATERIALTYPE']._serialized_end=4722 + _globals['_VESSELATTACHMENT']._serialized_start=4725 + _globals['_VESSELATTACHMENT']._serialized_end=5132 + _globals['_VESSELATTACHMENT_VESSELATTACHMENTTYPE']._serialized_start=4821 + _globals['_VESSELATTACHMENT_VESSELATTACHMENTTYPE']._serialized_end=5132 + _globals['_VESSELPREPARATION']._serialized_start=5135 + _globals['_VESSELPREPARATION']._serialized_end=5367 + _globals['_VESSELPREPARATION_VESSELPREPARATIONTYPE']._serialized_start=5234 + _globals['_VESSELPREPARATION_VESSELPREPARATIONTYPE']._serialized_end=5367 + _globals['_REACTIONSETUP']._serialized_start=5370 + _globals['_REACTIONSETUP']._serialized_end=5914 + _globals['_REACTIONSETUP_AUTOMATIONCODEENTRY']._serialized_start=5598 + _globals['_REACTIONSETUP_AUTOMATIONCODEENTRY']._serialized_end=5662 + _globals['_REACTIONSETUP_REACTIONENVIRONMENT']._serialized_start=5665 + _globals['_REACTIONSETUP_REACTIONENVIRONMENT']._serialized_end=5897 + _globals['_REACTIONSETUP_REACTIONENVIRONMENT_REACTIONENVIRONMENTTYPE']._serialized_start=5783 + _globals['_REACTIONSETUP_REACTIONENVIRONMENT_REACTIONENVIRONMENTTYPE']._serialized_end=5897 + _globals['_REACTIONCONDITIONS']._serialized_start=5917 + _globals['_REACTIONCONDITIONS']._serialized_end=6354 + _globals['_TEMPERATURECONDITIONS']._serialized_start=6357 + _globals['_TEMPERATURECONDITIONS']._serialized_end=7223 + _globals['_TEMPERATURECONDITIONS_TEMPERATURECONTROL']._serialized_start=6556 + _globals['_TEMPERATURECONDITIONS_TEMPERATURECONTROL']._serialized_end=6896 + _globals['_TEMPERATURECONDITIONS_TEMPERATURECONTROL_TEMPERATURECONTROLTYPE']._serialized_start=6680 + _globals['_TEMPERATURECONDITIONS_TEMPERATURECONTROL_TEMPERATURECONTROLTYPE']._serialized_end=6896 + _globals['_TEMPERATURECONDITIONS_TEMPERATUREMEASUREMENT']._serialized_start=6899 + _globals['_TEMPERATURECONDITIONS_TEMPERATUREMEASUREMENT']._serialized_end=7223 + _globals['_TEMPERATURECONDITIONS_TEMPERATUREMEASUREMENT_TEMPERATUREMEASUREMENTTYPE']._serialized_start=7098 + _globals['_TEMPERATURECONDITIONS_TEMPERATUREMEASUREMENT_TEMPERATUREMEASUREMENTTYPE']._serialized_end=7223 + _globals['_PRESSURECONDITIONS']._serialized_start=7226 + _globals['_PRESSURECONDITIONS']._serialized_end=8262 + _globals['_PRESSURECONDITIONS_PRESSURECONTROL']._serialized_start=7463 + _globals['_PRESSURECONDITIONS_PRESSURECONTROL']._serialized_end=7687 + _globals['_PRESSURECONDITIONS_PRESSURECONTROL_PRESSURECONTROLTYPE']._serialized_start=7574 + _globals['_PRESSURECONDITIONS_PRESSURECONTROL_PRESSURECONTROLTYPE']._serialized_end=7687 + _globals['_PRESSURECONDITIONS_ATMOSPHERE']._serialized_start=7690 + _globals['_PRESSURECONDITIONS_ATMOSPHERE']._serialized_end=7999 + _globals['_PRESSURECONDITIONS_ATMOSPHERE_ATMOSPHERETYPE']._serialized_start=7787 + _globals['_PRESSURECONDITIONS_ATMOSPHERE_ATMOSPHERETYPE']._serialized_end=7999 + _globals['_PRESSURECONDITIONS_PRESSUREMEASUREMENT']._serialized_start=8002 + _globals['_PRESSURECONDITIONS_PRESSUREMEASUREMENT']._serialized_end=8262 + _globals['_PRESSURECONDITIONS_PRESSUREMEASUREMENT_PRESSUREMEASUREMENTTYPE']._serialized_start=8183 + _globals['_PRESSURECONDITIONS_PRESSUREMEASUREMENT_PRESSUREMEASUREMENTTYPE']._serialized_end=8262 + _globals['_STIRRINGCONDITIONS']._serialized_start=8265 + _globals['_STIRRINGCONDITIONS']._serialized_end=8741 + _globals['_STIRRINGCONDITIONS_STIRRINGRATE']._serialized_start=8415 + _globals['_STIRRINGCONDITIONS_STIRRINGRATE']._serialized_end=8596 + _globals['_STIRRINGCONDITIONS_STIRRINGRATE_STIRRINGRATETYPE']._serialized_start=8530 + _globals['_STIRRINGCONDITIONS_STIRRINGRATE_STIRRINGRATETYPE']._serialized_end=8596 + _globals['_STIRRINGCONDITIONS_STIRRINGMETHODTYPE']._serialized_start=8599 + _globals['_STIRRINGCONDITIONS_STIRRINGMETHODTYPE']._serialized_end=8741 + _globals['_ILLUMINATIONCONDITIONS']._serialized_start=8744 + _globals['_ILLUMINATIONCONDITIONS']._serialized_end=9104 + _globals['_ILLUMINATIONCONDITIONS_ILLUMINATIONTYPE']._serialized_start=8946 + _globals['_ILLUMINATIONCONDITIONS_ILLUMINATIONTYPE']._serialized_end=9104 + _globals['_ELECTROCHEMISTRYCONDITIONS']._serialized_start=9107 + _globals['_ELECTROCHEMISTRYCONDITIONS']._serialized_end=9971 + _globals['_ELECTROCHEMISTRYCONDITIONS_ELECTROCHEMISTRYMEASUREMENT']._serialized_start=9528 + _globals['_ELECTROCHEMISTRYCONDITIONS_ELECTROCHEMISTRYMEASUREMENT']._serialized_end=9644 + _globals['_ELECTROCHEMISTRYCONDITIONS_ELECTROCHEMISTRYCELL']._serialized_start=9647 + _globals['_ELECTROCHEMISTRYCONDITIONS_ELECTROCHEMISTRYCELL']._serialized_end=9874 + _globals['_ELECTROCHEMISTRYCONDITIONS_ELECTROCHEMISTRYCELL_ELECTROCHEMISTRYCELLTYPE']._serialized_start=9781 + _globals['_ELECTROCHEMISTRYCONDITIONS_ELECTROCHEMISTRYCELL_ELECTROCHEMISTRYCELLTYPE']._serialized_end=9874 + _globals['_ELECTROCHEMISTRYCONDITIONS_ELECTROCHEMISTRYTYPE']._serialized_start=9876 + _globals['_ELECTROCHEMISTRYCONDITIONS_ELECTROCHEMISTRYTYPE']._serialized_end=9971 + _globals['_FLOWCONDITIONS']._serialized_start=9974 + _globals['_FLOWCONDITIONS']._serialized_end=10506 + _globals['_FLOWCONDITIONS_TUBING']._serialized_start=10117 + _globals['_FLOWCONDITIONS_TUBING']._serialized_end=10381 + _globals['_FLOWCONDITIONS_TUBING_TUBINGTYPE']._serialized_start=10229 + _globals['_FLOWCONDITIONS_TUBING_TUBINGTYPE']._serialized_end=10381 + _globals['_FLOWCONDITIONS_FLOWTYPE']._serialized_start=10383 + _globals['_FLOWCONDITIONS_FLOWTYPE']._serialized_end=10506 + _globals['_REACTIONNOTES']._serialized_start=10509 + _globals['_REACTIONNOTES']._serialized_end=10957 + _globals['_REACTIONOBSERVATION']._serialized_start=10959 + _globals['_REACTIONOBSERVATION']._serialized_end=11048 + _globals['_REACTIONWORKUP']._serialized_start=11051 + _globals['_REACTIONWORKUP']._serialized_end=11766 + _globals['_REACTIONWORKUP_REACTIONWORKUPTYPE']._serialized_start=11397 + _globals['_REACTIONWORKUP_REACTIONWORKUPTYPE']._serialized_end=11735 + _globals['_REACTIONOUTCOME']._serialized_start=11769 + _globals['_REACTIONOUTCOME']._serialized_end=12015 + _globals['_REACTIONOUTCOME_ANALYSESENTRY']._serialized_start=3031 + _globals['_REACTIONOUTCOME_ANALYSESENTRY']._serialized_end=3093 + _globals['_PRODUCTCOMPOUND']._serialized_start=12018 + _globals['_PRODUCTCOMPOUND']._serialized_end=12412 + _globals['_PRODUCTCOMPOUND_FEATURESENTRY']._serialized_start=2971 + _globals['_PRODUCTCOMPOUND_FEATURESENTRY']._serialized_end=3029 + _globals['_PRODUCTMEASUREMENT']._serialized_start=12415 + _globals['_PRODUCTMEASUREMENT']._serialized_end=13818 + _globals['_PRODUCTMEASUREMENT_MASSSPECMEASUREMENTDETAILS']._serialized_start=13028 + _globals['_PRODUCTMEASUREMENT_MASSSPECMEASUREMENTDETAILS']._serialized_end=13389 + _globals['_PRODUCTMEASUREMENT_MASSSPECMEASUREMENTDETAILS_MASSSPECMEASUREMENTTYPE']._serialized_start=13243 + _globals['_PRODUCTMEASUREMENT_MASSSPECMEASUREMENTDETAILS_MASSSPECMEASUREMENTTYPE']._serialized_end=13351 + _globals['_PRODUCTMEASUREMENT_SELECTIVITY']._serialized_start=13392 + _globals['_PRODUCTMEASUREMENT_SELECTIVITY']._serialized_end=13577 + _globals['_PRODUCTMEASUREMENT_SELECTIVITY_SELECTIVITYTYPE']._serialized_start=13491 + _globals['_PRODUCTMEASUREMENT_SELECTIVITY_SELECTIVITYTYPE']._serialized_end=13577 + _globals['_PRODUCTMEASUREMENT_PRODUCTMEASUREMENTTYPE']._serialized_start=13580 + _globals['_PRODUCTMEASUREMENT_PRODUCTMEASUREMENTTYPE']._serialized_end=13736 + _globals['_DATETIME']._serialized_start=13820 + _globals['_DATETIME']._serialized_end=13845 + _globals['_ANALYSIS']._serialized_start=13848 + _globals['_ANALYSIS']._serialized_end=14436 + _globals['_ANALYSIS_DATAENTRY']._serialized_start=14096 + _globals['_ANALYSIS_DATAENTRY']._serialized_end=14150 + _globals['_ANALYSIS_ANALYSISTYPE']._serialized_start=14153 + _globals['_ANALYSIS_ANALYSISTYPE']._serialized_end=14409 + _globals['_REACTIONPROVENANCE']._serialized_start=14439 + _globals['_REACTIONPROVENANCE']._serialized_end=14866 + _globals['_REACTIONPROVENANCE_REACTIONMETADATAENTRY']._serialized_start=14787 + _globals['_REACTIONPROVENANCE_REACTIONMETADATAENTRY']._serialized_end=14853 + _globals['_PERSON']._serialized_start=14868 + _globals['_PERSON']._serialized_end=14960 + _globals['_RECORDEVENT']._serialized_start=14962 + _globals['_RECORDEVENT']._serialized_end=15050 + _globals['_TIME']._serialized_start=15053 + _globals['_TIME']._serialized_end=15234 + _globals['_TIME_TIMEUNIT']._serialized_start=15140 + _globals['_TIME_TIMEUNIT']._serialized_end=15210 + _globals['_MASS']._serialized_start=15237 + _globals['_MASS']._serialized_end=15429 + _globals['_MASS_MASSUNIT']._serialized_start=15324 + _globals['_MASS_MASSUNIT']._serialized_end=15405 + _globals['_MOLES']._serialized_start=15432 + _globals['_MOLES']._serialized_end=15628 + _globals['_MOLES_MOLESUNIT']._serialized_start=15522 + _globals['_MOLES_MOLESUNIT']._serialized_end=15604 + _globals['_VOLUME']._serialized_start=15631 + _globals['_VOLUME']._serialized_end=15835 + _globals['_VOLUME_VOLUMEUNIT']._serialized_start=15724 + _globals['_VOLUME_VOLUMEUNIT']._serialized_end=15811 + _globals['_CONCENTRATION']._serialized_start=15838 + _globals['_CONCENTRATION']._serialized_end=16055 + _globals['_CONCENTRATION_CONCENTRATIONUNIT']._serialized_start=15952 + _globals['_CONCENTRATION_CONCENTRATIONUNIT']._serialized_end=16031 + _globals['_PRESSURE']._serialized_start=16058 + _globals['_PRESSURE']._serialized_end=16305 + _globals['_PRESSURE_PRESSUREUNIT']._serialized_start=16157 + _globals['_PRESSURE_PRESSUREUNIT']._serialized_end=16281 + _globals['_TEMPERATURE']._serialized_start=16308 + _globals['_TEMPERATURE']._serialized_end=16515 + _globals['_TEMPERATURE_TEMPERATUREUNIT']._serialized_start=16416 + _globals['_TEMPERATURE_TEMPERATUREUNIT']._serialized_end=16491 + _globals['_CURRENT']._serialized_start=16518 + _globals['_CURRENT']._serialized_end=16697 + _globals['_CURRENT_CURRENTUNIT']._serialized_start=16614 + _globals['_CURRENT_CURRENTUNIT']._serialized_end=16673 + _globals['_VOLTAGE']._serialized_start=16700 + _globals['_VOLTAGE']._serialized_end=16875 + _globals['_VOLTAGE_VOLTAGEUNIT']._serialized_start=16796 + _globals['_VOLTAGE_VOLTAGEUNIT']._serialized_end=16851 + _globals['_LENGTH']._serialized_start=16878 + _globals['_LENGTH']._serialized_end=17087 + _globals['_LENGTH_LENGTHUNIT']._serialized_start=16971 + _globals['_LENGTH_LENGTHUNIT']._serialized_end=17063 + _globals['_WAVELENGTH']._serialized_start=17090 + _globals['_WAVELENGTH']._serialized_end=17283 + _globals['_WAVELENGTH_WAVELENGTHUNIT']._serialized_start=17195 + _globals['_WAVELENGTH_WAVELENGTHUNIT']._serialized_end=17259 + _globals['_FLOWRATE']._serialized_start=17286 + _globals['_FLOWRATE']._serialized_end=17574 + _globals['_FLOWRATE_FLOWRATEUNIT']._serialized_start=17386 + _globals['_FLOWRATE_FLOWRATEUNIT']._serialized_end=17550 + _globals['_PERCENTAGE']._serialized_start=17576 + _globals['_PERCENTAGE']._serialized_end=17656 + _globals['_FLOATVALUE']._serialized_start=17658 + _globals['_FLOATVALUE']._serialized_end=17738 + _globals['_DATA']._serialized_start=17741 + _globals['_DATA']._serialized_end=17902 # @@protoc_insertion_point(module_scope) diff --git a/ord_schema/scripts/parse_uspto.py b/ord_schema/scripts/parse_uspto.py index bc81883a..afe2248a 100644 --- a/ord_schema/scripts/parse_uspto.py +++ b/ord_schema/scripts/parse_uspto.py @@ -72,23 +72,23 @@ } PRODUCT_STATES = { - "crystal": reaction_pb2.ProductCompound.Texture.CRYSTAL, - "crystalline-solid": reaction_pb2.ProductCompound.Texture.CRYSTAL, - "crystals": reaction_pb2.ProductCompound.Texture.CRYSTAL, - "foam": reaction_pb2.ProductCompound.Texture.FOAM, - "foam-like": reaction_pb2.ProductCompound.Texture.FOAM, - "foam/very": reaction_pb2.ProductCompound.Texture.FOAM, - "needle": reaction_pb2.ProductCompound.Texture.CRYSTAL, - "needle-like": reaction_pb2.ProductCompound.Texture.CRYSTAL, - "needles": reaction_pb2.ProductCompound.Texture.CRYSTAL, - "oil": reaction_pb2.ProductCompound.Texture.OIL, - "oil-like": reaction_pb2.ProductCompound.Texture.OIL, - "oils": reaction_pb2.ProductCompound.Texture.OIL, - "powder": reaction_pb2.ProductCompound.Texture.POWDER, - "powders": reaction_pb2.ProductCompound.Texture.POWDER, - "prisms": reaction_pb2.ProductCompound.Texture.CRYSTAL, - "semisolid": reaction_pb2.ProductCompound.Texture.SEMI_SOLID, - "semi-solid": reaction_pb2.ProductCompound.Texture.SEMI_SOLID, + "crystal": reaction_pb2.Texture.CRYSTAL, + "crystalline-solid": reaction_pb2.Texture.CRYSTAL, + "crystals": reaction_pb2.Texture.CRYSTAL, + "foam": reaction_pb2.Texture.FOAM, + "foam-like": reaction_pb2.Texture.FOAM, + "foam/very": reaction_pb2.Texture.FOAM, + "needle": reaction_pb2.Texture.CRYSTAL, + "needle-like": reaction_pb2.Texture.CRYSTAL, + "needles": reaction_pb2.Texture.CRYSTAL, + "oil": reaction_pb2.Texture.OIL, + "oil-like": reaction_pb2.Texture.OIL, + "oils": reaction_pb2.Texture.OIL, + "powder": reaction_pb2.Texture.POWDER, + "powders": reaction_pb2.Texture.POWDER, + "prisms": reaction_pb2.Texture.CRYSTAL, + "semisolid": reaction_pb2.Texture.SEMI_SOLID, + "semi-solid": reaction_pb2.Texture.SEMI_SOLID, } WORKUP_TYPES = { diff --git a/ord_schema/validations.py b/ord_schema/validations.py index c92f3be4..7d3357c6 100644 --- a/ord_schema/validations.py +++ b/ord_schema/validations.py @@ -497,27 +497,27 @@ def validate_reaction_input(message: reaction_pb2.ReactionInput): ) texture_type_to_state_of_matter = { - reaction_pb2.ProductCompound.Texture.UNSPECIFIED: None, - reaction_pb2.ProductCompound.Texture.CUSTOM: None, - reaction_pb2.ProductCompound.Texture.GAS: 1, - reaction_pb2.ProductCompound.Texture.OIL: 2, - reaction_pb2.ProductCompound.Texture.FOAM: 2, - reaction_pb2.ProductCompound.Texture.LIQUID: 2, - reaction_pb2.ProductCompound.Texture.POWDER: 3, - reaction_pb2.ProductCompound.Texture.CRYSTAL: 3, - reaction_pb2.ProductCompound.Texture.WAX: 3, - reaction_pb2.ProductCompound.Texture.AMORPHOUS_SOLID: 3, - reaction_pb2.ProductCompound.Texture.SEMI_SOLID: 3, - reaction_pb2.ProductCompound.Texture.SOLID: 3, + reaction_pb2.Texture.UNSPECIFIED: None, + reaction_pb2.Texture.CUSTOM: None, + reaction_pb2.Texture.GAS: 1, + reaction_pb2.Texture.OIL: 2, + reaction_pb2.Texture.FOAM: 2, + reaction_pb2.Texture.LIQUID: 2, + reaction_pb2.Texture.POWDER: 3, + reaction_pb2.Texture.CRYSTAL: 3, + reaction_pb2.Texture.WAX: 3, + reaction_pb2.Texture.AMORPHOUS_SOLID: 3, + reaction_pb2.Texture.SEMI_SOLID: 3, + reaction_pb2.Texture.SOLID: 3, } input_state_code = texture_type_to_state_of_matter[message.texture.type] if input_state_code is not None: - components = message.components + message.crude_components + components = [*message.components] + [*message.crude_components] component_state_codes = [texture_type_to_state_of_matter[c.texture.type] for c in components] if ( component_state_codes and None not in component_state_codes - and max(component_state_codes) > input_state_code + and max(component_state_codes) < input_state_code ): warnings.warn( f"the ReationInput has texture type of: {message.texture.type}," @@ -859,7 +859,7 @@ def validate_product_compound(message: reaction_pb2.ProductCompound): warnings.warn("a product cannot be (SIDE_PRODUCT & is_desired_product)", ValidationError) -def validate_texture(message: reaction_pb2.ProductCompound.Texture): +def validate_texture(message: reaction_pb2.Texture): check_type_and_details(message) @@ -1112,6 +1112,7 @@ def validate_data(message: reaction_pb2.Data): # Compounds reaction_pb2.Amount: validate_amount, reaction_pb2.UnmeasuredAmount: validate_unmeasured_amount, + reaction_pb2.Texture: validate_texture, reaction_pb2.CrudeComponent: validate_crude_component, reaction_pb2.Compound: validate_compound, reaction_pb2.CompoundPreparation: validate_compound_preparation, @@ -1148,7 +1149,6 @@ def validate_data(message: reaction_pb2.Data): reaction_pb2.ReactionWorkup: validate_reaction_workup, reaction_pb2.ReactionOutcome: validate_reaction_outcome, reaction_pb2.ProductCompound: validate_product_compound, - reaction_pb2.ProductCompound.Texture: validate_texture, reaction_pb2.ProductMeasurement: validate_product_measurement, reaction_pb2.ProductMeasurement.Selectivity: validate_selectivity, reaction_pb2.ProductMeasurement.MassSpecMeasurementDetails: validate_mass_spec_measurement_type, diff --git a/ord_schema/validations_test.py b/ord_schema/validations_test.py index 12e649a5..19dc7d99 100644 --- a/ord_schema/validations_test.py +++ b/ord_schema/validations_test.py @@ -165,6 +165,42 @@ def test_unmeasured_amount(): assert len(output.warnings) == 0 +def test_texture_in_reaction_input(): + def _make_dummy_reaction_input(component_texture_types, input_texture_type): + message = reaction_pb2.ReactionInput(texture=reaction_pb2.Texture(type=input_texture_type)) + for texture_type in component_texture_types: + message.components.add().CopyFrom( + reaction_pb2.Compound( + identifiers=[dict(type="SMILES", value="c1ccccc1")], texture=reaction_pb2.Texture(type=texture_type) + ) + ) + return message + + # case 1: foam + gas -> crystal is unlikely + c_texture_types = ["FOAM", "GAS"] + i_texture_type = "CRYSTAL" + output = _run_validation(_make_dummy_reaction_input(c_texture_types, i_texture_type)) + assert len(output.warnings) == 1 + + # case 2: wax + liquid -> liquid is allowed + c_texture_types = ["WAX", "LIQUID"] + i_texture_type = "LIQUID" + output = _run_validation(_make_dummy_reaction_input(c_texture_types, i_texture_type)) + assert len(output.warnings) == 0 + + # case 3: oil + liquid -> solid is unlikely + c_texture_types = ["OIL", "LIQUID"] + i_texture_type = "SOLID" + output = _run_validation(_make_dummy_reaction_input(c_texture_types, i_texture_type)) + assert len(output.warnings) == 1 + + # case 4: gas + liquid -> liquid is allowed + c_texture_types = ["GAS", "LIQUID"] + i_texture_type = "LIQUID" + output = _run_validation(_make_dummy_reaction_input(c_texture_types, i_texture_type)) + assert len(output.warnings) == 0 + + def test_crude_component(): message = reaction_pb2.CrudeComponent() with pytest.raises(validations.ValidationError, match="reaction_id"): diff --git a/proto/reaction.proto b/proto/reaction.proto index e74bfe1c..062e1a6e 100644 --- a/proto/reaction.proto +++ b/proto/reaction.proto @@ -163,7 +163,7 @@ message ReactionInput { // E.g., a cooled flask of a stock solution to be added at low temperature. Temperature addition_temperature = 9; // The texture immediately before addition. - ProductCompound.Texture texture = 10; + Texture texture = 10; } /** @@ -211,6 +211,32 @@ message UnmeasuredAmount { string details = 2; } +/** + * This qualitatively describes the apparent size and morphology of a Compound + * or a ReactionInput. + */ +message Texture { + // Note not all of the type options are mutually disjoint. + enum TextureType { + UNSPECIFIED = 0; + CUSTOM = 1; + POWDER = 2; + CRYSTAL = 3; + OIL = 4; + AMORPHOUS_SOLID = 5; + FOAM = 6; + WAX = 7; + SEMI_SOLID = 8; + SOLID = 9; + LIQUID = 10; + GAS = 11; + } + TextureType type = 1; + // Specify texture forms such as "fine needles" for CRYSTAL, + // "viscous" for OIL, etc. + string details = 2; +} + /** * Crude components are used in multi-step or multi-stage reactions (no strong * distinction is made here) where one synthetic process must be described by @@ -233,7 +259,7 @@ message CrudeComponent { optional bool has_derived_amount = 3; // If the entire crude mixture was not used, need to specify an amount. Amount amount = 4; - ProductCompound.Texture texture = 5; + Texture texture = 5; } /** @@ -268,7 +294,7 @@ message Compound { // Compounds may be assayed for quality control; analytical data should be // defined in the analyses map. map analyses = 8; - ProductCompound.Texture texture = 9; + Texture texture = 9; } message ReactionRole { @@ -878,26 +904,6 @@ message ProductCompound { // (and unnormalized) metrics like an integrated UV peak area. repeated ProductMeasurement measurements = 3; string isolated_color = 4; - message Texture { - enum TextureType { - UNSPECIFIED = 0; - CUSTOM = 1; - POWDER = 2; - CRYSTAL = 3; - OIL = 4; - AMORPHOUS_SOLID = 5; - FOAM = 6; - WAX = 7; - SEMI_SOLID = 8; - SOLID = 9; - LIQUID = 10; - GAS = 11; - } - TextureType type = 1; - // Specify texture forms such as "fine needles" for CRYSTAL, - // "viscous" for OIL, etc. - string details = 2; - } Texture texture = 5; // Any features (e.g., calculated descriptors) of the product compound. map features = 6; From f6bc158e8b72a3a5cd34c16816609bf55b3d9ab2 Mon Sep 17 00:00:00 2001 From: qai Date: Fri, 8 Sep 2023 17:22:42 -0400 Subject: [PATCH 5/8] - notebook example refactor for moving `Texture` out from `ProductCompound` --- examples/submissions/3_Liu_Copper_OrgSyn/example_liu.ipynb | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/examples/submissions/3_Liu_Copper_OrgSyn/example_liu.ipynb b/examples/submissions/3_Liu_Copper_OrgSyn/example_liu.ipynb index f47c7efa..6b8ae6f2 100644 --- a/examples/submissions/3_Liu_Copper_OrgSyn/example_liu.ipynb +++ b/examples/submissions/3_Liu_Copper_OrgSyn/example_liu.ipynb @@ -854,7 +854,7 @@ ")\n", "\n", "product.isolated_color = \"white\"\n", - "product.texture.type = product.Texture.POWDER\n", + "product.texture.type = reaction_pb2.Texture.POWDER\n", "\n", "reaction.provenance.experimenter.CopyFrom(reaction_pb2.Person(name=\"Richard Y. Liu\", organization=\"MIT\"))\n", "reaction.provenance.city = r\"Cambridge, MA\"\n", @@ -1773,7 +1773,7 @@ ")\n", "\n", "product.isolated_color = \"colorless\"\n", - "product.texture.type = product.Texture.OIL\n", + "product.texture.type = reaction_pb2.Texture.OIL\n", "\n", "reaction.provenance.experimenter.CopyFrom(reaction_pb2.Person(name=\"Richard Y. Liu\", organization=\"MIT\"))\n", "reaction.provenance.city = r\"Cambridge, MA\"\n", @@ -2705,7 +2705,7 @@ ")\n", "\n", "product.isolated_color = \"colorless\"\n", - "product.texture.type = product.Texture.OIL\n", + "product.texture.type = reaction_pb2.Texture.OIL\n", "\n", "reaction.provenance.experimenter.CopyFrom(reaction_pb2.Person(name=\"Richard Y. Liu\", organization=\"MIT\"))\n", "reaction.provenance.city = r\"Cambridge, MA\"\n", From e0891b5b1a796cf295030bef6f72654f00ee5d25 Mon Sep 17 00:00:00 2001 From: qai Date: Sat, 16 Sep 2023 19:06:07 -0400 Subject: [PATCH 6/8] remove unnecessary comments --- proto/reaction.proto | 1 - 1 file changed, 1 deletion(-) diff --git a/proto/reaction.proto b/proto/reaction.proto index 062e1a6e..69bf102f 100644 --- a/proto/reaction.proto +++ b/proto/reaction.proto @@ -216,7 +216,6 @@ message UnmeasuredAmount { * or a ReactionInput. */ message Texture { - // Note not all of the type options are mutually disjoint. enum TextureType { UNSPECIFIED = 0; CUSTOM = 1; From 4c5cef427b30297f98da113aa679d8e521cc4161 Mon Sep 17 00:00:00 2001 From: qai Date: Wed, 20 Sep 2023 16:58:02 -0400 Subject: [PATCH 7/8] - alphabetic order in `ord_schema/__init__.py` - additional comment for `Texture` - matter state enum for validation --- ord_schema/__init__.py | 2 +- ord_schema/validations.py | 26 ++++++++++++++++---------- proto/reaction.proto | 4 ++-- 3 files changed, 19 insertions(+), 13 deletions(-) diff --git a/ord_schema/__init__.py b/ord_schema/__init__.py index 85977ccf..b9e6f800 100644 --- a/ord_schema/__init__.py +++ b/ord_schema/__init__.py @@ -37,7 +37,6 @@ reaction_pb2.PressureConditions.Atmosphere, reaction_pb2.PressureConditions.PressureMeasurement, reaction_pb2.PressureConditions.PressureControl, - reaction_pb2.Texture, reaction_pb2.ProductMeasurement, reaction_pb2.ProductMeasurement.MassSpecMeasurementDetails, reaction_pb2.ProductMeasurement.Selectivity, @@ -48,6 +47,7 @@ reaction_pb2.StirringConditions, reaction_pb2.TemperatureConditions.TemperatureMeasurement, reaction_pb2.TemperatureConditions.TemperatureControl, + reaction_pb2.Texture, reaction_pb2.Vessel, reaction_pb2.VesselAttachment, reaction_pb2.VesselMaterial, diff --git a/ord_schema/validations.py b/ord_schema/validations.py index 7d3357c6..f060468e 100644 --- a/ord_schema/validations.py +++ b/ord_schema/validations.py @@ -29,6 +29,7 @@ from ord_schema import message_helpers from ord_schema.proto import dataset_pb2 from ord_schema.proto import reaction_pb2 +from enum import IntEnum logger = get_logger(__name__) @@ -496,19 +497,24 @@ def validate_reaction_input(message: reaction_pb2.ReactionInput): ValidationWarning, ) + class StateOfMatter(IntEnum): + GAS = 1 + LIQUID = 2 + SOLID = 3 + texture_type_to_state_of_matter = { reaction_pb2.Texture.UNSPECIFIED: None, reaction_pb2.Texture.CUSTOM: None, - reaction_pb2.Texture.GAS: 1, - reaction_pb2.Texture.OIL: 2, - reaction_pb2.Texture.FOAM: 2, - reaction_pb2.Texture.LIQUID: 2, - reaction_pb2.Texture.POWDER: 3, - reaction_pb2.Texture.CRYSTAL: 3, - reaction_pb2.Texture.WAX: 3, - reaction_pb2.Texture.AMORPHOUS_SOLID: 3, - reaction_pb2.Texture.SEMI_SOLID: 3, - reaction_pb2.Texture.SOLID: 3, + reaction_pb2.Texture.GAS: StateOfMatter.GAS, + reaction_pb2.Texture.OIL: StateOfMatter.LIQUID, + reaction_pb2.Texture.FOAM: StateOfMatter.LIQUID, + reaction_pb2.Texture.LIQUID: StateOfMatter.LIQUID, + reaction_pb2.Texture.POWDER: StateOfMatter.SOLID, + reaction_pb2.Texture.CRYSTAL: StateOfMatter.SOLID, + reaction_pb2.Texture.WAX: StateOfMatter.SOLID, + reaction_pb2.Texture.AMORPHOUS_SOLID: StateOfMatter.SOLID, + reaction_pb2.Texture.SEMI_SOLID: StateOfMatter.SOLID, + reaction_pb2.Texture.SOLID: StateOfMatter.SOLID, } input_state_code = texture_type_to_state_of_matter[message.texture.type] if input_state_code is not None: diff --git a/proto/reaction.proto b/proto/reaction.proto index 69bf102f..469c74f5 100644 --- a/proto/reaction.proto +++ b/proto/reaction.proto @@ -212,8 +212,8 @@ message UnmeasuredAmount { } /** - * This qualitatively describes the apparent size and morphology of a Compound - * or a ReactionInput. + * This qualitatively describes the apparent size and morphology of a Compound, + * a ProductCompound, or a ReactionInput. */ message Texture { enum TextureType { From c03e02687ae6831084669afc9a01eee6e3984d55 Mon Sep 17 00:00:00 2001 From: qai Date: Wed, 20 Sep 2023 17:03:15 -0400 Subject: [PATCH 8/8] fix import order --- ord_schema/validations.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ord_schema/validations.py b/ord_schema/validations.py index f060468e..2e1a3a01 100644 --- a/ord_schema/validations.py +++ b/ord_schema/validations.py @@ -19,6 +19,7 @@ import warnings from collections.abc import Mapping from typing import Any, Optional +from enum import IntEnum from dateutil import parser from rdkit import Chem @@ -29,7 +30,6 @@ from ord_schema import message_helpers from ord_schema.proto import dataset_pb2 from ord_schema.proto import reaction_pb2 -from enum import IntEnum logger = get_logger(__name__)