+ <%= render(:partial => 'metadata/metadata_tab', locals: { presenter: @presenter}) %>
+
+
diff --git a/config/application.rb b/config/application.rb
index 93aab02..4822c69 100644
--- a/config/application.rb
+++ b/config/application.rb
@@ -47,6 +47,7 @@ class Application < Rails::Application
config.project_uuid = nil
config.details_root = '#'
config.summary_root = '#'
+ config.i18n.enforce_available_locales = false
# Allow state_machine to override methods like Object#fail in models
StateMachine::Machine.ignore_method_conflicts = true
diff --git a/config/environments/test.rb b/config/environments/test.rb
index 77786d6..457897a 100644
--- a/config/environments/test.rb
+++ b/config/environments/test.rb
@@ -20,6 +20,11 @@
# Disable request forgery protection in test environment
config.action_controller.allow_forgery_protection = false
+ config.api_connection_options = ActiveSupport::OrderedOptions.new
+ config.api_connection_options.namespace = 'IlluminaC'
+ config.api_connection_options.url = ENV.fetch('API_URL','http://localhost:3000/')
+ config.api_connection_options.authorisation = 'testing'
+
# Tell Action Mailer not to deliver emails to the real world.
# The :test delivery method accumulates sent emails in the
# ActionMailer::Base.deliveries array.
diff --git a/config/locales/en.yml b/config/locales/en.yml
index 6070eac..13f3117 100644
--- a/config/locales/en.yml
+++ b/config/locales/en.yml
@@ -14,5 +14,8 @@ en:
instructions: >
Select the ‘Create next plate’ tab.
Click on ‘Add an empty ILB_STD_COVARIS plate’.
-
-
+ walking_by:
+ manual by plate: "By Plate [Sequential Numbering]"
+ manual by pool: "By Pool"
+ wells of plate: "By Plate [Fixed numbering]"
+ as group by plate: 'Apply multiple tags'
diff --git a/config/routes.rb b/config/routes.rb
index 617c803..1ffa231 100644
--- a/config/routes.rb
+++ b/config/routes.rb
@@ -1,10 +1,12 @@
IlluminaCPipeline::Application.routes.draw do
+
scope 'search', :controller => :search do
- match '/', :action => 'new', :via => :get, :as => :search
- match '/', :action => 'create_or_find', :via => :post, :as => :perform_search
+ match '/', :action => :new, :via => :get, :as => :search
+ match '/', :action => :create_or_find, :via => :post, :as => :perform_search
match '/ongoing_plates', :action => :ongoing_plates
match '/all_stock_plates', :action => :stock_plates
- match '/retrieve_parent', :action => :retrieve_parent
+ match '/retrieve_parent', :action => :retrieve_parent
+ match '/qcables', :action => :qcables, :via => :post
end
resources :illumina_c_plates, :controller => :plates do
@@ -29,6 +31,9 @@
resources :qc_files, :controller => :qc_files
end
+ resources :tag_plates, only: :show
+ resources :multiple_target_state_change, only: :create
+ resources :metadata
# This is a hack untill I get tube coercion working
resources :sequencescape_tubes, :controller => :tubes do
diff --git a/features/plate_creation/plate_creation.feature b/features/plate_creation/plate_creation.feature
deleted file mode 100644
index 6e4870f..0000000
--- a/features/plate_creation/plate_creation.feature
+++ /dev/null
@@ -1,23 +0,0 @@
-Feature: Plate creation
- In order to move samples through the pulldown pipeline
- As a ordinary user
- I want create new plates from source plates
-
- Scenario: creating a plate from a Stock plate
- Given I am on the homepage
- When I enter a valid user barcode
- And I enter a valid Source Plate barcode
- Then I am presented with a screen allowing me to create a destination plate
-
- Scenario: Finding a plate page by page
- Given I am on the homepage
- When I enter a valid user barcode
- And I press "Find User"
- Then I am on the plate search page
-
-
-
-
-
-
-
diff --git a/features/step_definitions/plate_creation_steps.rb b/features/step_definitions/plate_creation_steps.rb
deleted file mode 100644
index b962d24..0000000
--- a/features/step_definitions/plate_creation_steps.rb
+++ /dev/null
@@ -1,11 +0,0 @@
-When /^I enter a valid user barcode$/ do
- fill_in("User Barcode", :with => "12343456454543")
-end
-
-When /^I enter a valid Source Plate barcode$/ do
- fill_in("Source Plate Barcode", :with => "22343456454543")
-end
-
-Then /^I am presented with a screen allowing me to create a destination plate$/ do
- pending # express the regexp above with the code you wish you had
-end
diff --git a/features/step_definitions/web_steps.rb b/features/step_definitions/web_steps.rb
deleted file mode 100644
index 456f5d2..0000000
--- a/features/step_definitions/web_steps.rb
+++ /dev/null
@@ -1,211 +0,0 @@
-# TL;DR: YOU SHOULD DELETE THIS FILE
-#
-# This file was generated by Cucumber-Rails and is only here to get you a head start
-# These step definitions are thin wrappers around the Capybara/Webrat API that lets you
-# visit pages, interact with widgets and make assertions about page content.
-#
-# If you use these step definitions as basis for your features you will quickly end up
-# with features that are:
-#
-# * Hard to maintain
-# * Verbose to read
-#
-# A much better approach is to write your own higher level step definitions, following
-# the advice in the following blog posts:
-#
-# * http://benmabey.com/2008/05/19/imperative-vs-declarative-scenarios-in-user-stories.html
-# * http://dannorth.net/2011/01/31/whose-domain-is-it-anyway/
-# * http://elabs.se/blog/15-you-re-cuking-it-wrong
-#
-
-
-require 'uri'
-require 'cgi'
-require File.expand_path(File.join(File.dirname(__FILE__), "..", "support", "paths"))
-require File.expand_path(File.join(File.dirname(__FILE__), "..", "support", "selectors"))
-
-module WithinHelpers
- def with_scope(locator)
- locator ? within(*selector_for(locator)) { yield } : yield
- end
-end
-World(WithinHelpers)
-
-# Single-line step scoper
-When /^(.*) within (.*[^:])$/ do |step, parent|
- with_scope(parent) { When step }
-end
-
-# Multi-line step scoper
-When /^(.*) within (.*[^:]):$/ do |step, parent, table_or_string|
- with_scope(parent) { When "#{step}:", table_or_string }
-end
-
-Given /^(?:|I )am on (.+)$/ do |page_name|
- visit path_to(page_name)
-end
-
-When /^(?:|I )go to (.+)$/ do |page_name|
- visit path_to(page_name)
-end
-
-When /^(?:|I )press "([^"]*)"$/ do |button|
- click_button(button)
-end
-
-When /^(?:|I )follow "([^"]*)"$/ do |link|
- click_link(link)
-end
-
-When /^(?:|I )fill in "([^"]*)" with "([^"]*)"$/ do |field, value|
- fill_in(field, :with => value)
-end
-
-When /^(?:|I )fill in "([^"]*)" for "([^"]*)"$/ do |value, field|
- fill_in(field, :with => value)
-end
-
-# Use this to fill in an entire form with data from a table. Example:
-#
-# When I fill in the following:
-# | Account Number | 5002 |
-# | Expiry date | 2009-11-01 |
-# | Note | Nice guy |
-# | Wants Email? | |
-#
-# TODO: Add support for checkbox, select og option
-# based on naming conventions.
-#
-When /^(?:|I )fill in the following:$/ do |fields|
- fields.rows_hash.each do |name, value|
- When %{I fill in "#{name}" with "#{value}"}
- end
-end
-
-When /^(?:|I )select "([^"]*)" from "([^"]*)"$/ do |value, field|
- select(value, :from => field)
-end
-
-When /^(?:|I )check "([^"]*)"$/ do |field|
- check(field)
-end
-
-When /^(?:|I )uncheck "([^"]*)"$/ do |field|
- uncheck(field)
-end
-
-When /^(?:|I )choose "([^"]*)"$/ do |field|
- choose(field)
-end
-
-When /^(?:|I )attach the file "([^"]*)" to "([^"]*)"$/ do |path, field|
- attach_file(field, File.expand_path(path))
-end
-
-Then /^(?:|I )should see "([^"]*)"$/ do |text|
- if page.respond_to? :should
- page.should have_content(text)
- else
- assert page.has_content?(text)
- end
-end
-
-Then /^(?:|I )should see \/([^\/]*)\/$/ do |regexp|
- regexp = Regexp.new(regexp)
-
- if page.respond_to? :should
- page.should have_xpath('//*', :text => regexp)
- else
- assert page.has_xpath?('//*', :text => regexp)
- end
-end
-
-Then /^(?:|I )should not see "([^"]*)"$/ do |text|
- if page.respond_to? :should
- page.should have_no_content(text)
- else
- assert page.has_no_content?(text)
- end
-end
-
-Then /^(?:|I )should not see \/([^\/]*)\/$/ do |regexp|
- regexp = Regexp.new(regexp)
-
- if page.respond_to? :should
- page.should have_no_xpath('//*', :text => regexp)
- else
- assert page.has_no_xpath?('//*', :text => regexp)
- end
-end
-
-Then /^the "([^"]*)" field(?: within (.*))? should contain "([^"]*)"$/ do |field, parent, value|
- with_scope(parent) do
- field = find_field(field)
- field_value = (field.tag_name == 'textarea') ? field.text : field.value
- if field_value.respond_to? :should
- field_value.should =~ /#{value}/
- else
- assert_match(/#{value}/, field_value)
- end
- end
-end
-
-Then /^the "([^"]*)" field(?: within (.*))? should not contain "([^"]*)"$/ do |field, parent, value|
- with_scope(parent) do
- field = find_field(field)
- field_value = (field.tag_name == 'textarea') ? field.text : field.value
- if field_value.respond_to? :should_not
- field_value.should_not =~ /#{value}/
- else
- assert_no_match(/#{value}/, field_value)
- end
- end
-end
-
-Then /^the "([^"]*)" checkbox(?: within (.*))? should be checked$/ do |label, parent|
- with_scope(parent) do
- field_checked = find_field(label)['checked']
- if field_checked.respond_to? :should
- field_checked.should be_true
- else
- assert field_checked
- end
- end
-end
-
-Then /^the "([^"]*)" checkbox(?: within (.*))? should not be checked$/ do |label, parent|
- with_scope(parent) do
- field_checked = find_field(label)['checked']
- if field_checked.respond_to? :should
- field_checked.should be_false
- else
- assert !field_checked
- end
- end
-end
-
-Then /^(?:|I )should be on (.+)$/ do |page_name|
- current_path = URI.parse(current_url).path
- if current_path.respond_to? :should
- current_path.should == path_to(page_name)
- else
- assert_equal path_to(page_name), current_path
- end
-end
-
-Then /^(?:|I )should have the following query string:$/ do |expected_pairs|
- query = URI.parse(current_url).query
- actual_params = query ? CGI.parse(query) : {}
- expected_params = {}
- expected_pairs.rows_hash.each_pair{|k,v| expected_params[k] = v.split(',')}
-
- if actual_params.respond_to? :should
- actual_params.should == expected_params
- else
- assert_equal expected_params, actual_params
- end
-end
-
-Then /^show me the page$/ do
- save_and_open_page
-end
diff --git a/features/support/env.rb b/features/support/env.rb
deleted file mode 100644
index 46a19f0..0000000
--- a/features/support/env.rb
+++ /dev/null
@@ -1,53 +0,0 @@
-# IMPORTANT: This file is generated by cucumber-rails - edit at your own peril.
-# It is recommended to regenerate this file in the future when you upgrade to a
-# newer version of cucumber-rails. Consider adding your own code to a new file
-# instead of editing this one. Cucumber will automatically load all features/**/*.rb
-# files.
-
-require 'cucumber/rails'
-
-require 'capybara'
-# Capybara defaults to XPath selectors rather than Webrat's default of CSS3. In
-# order to ease the transition to Capybara we set the default here. If you'd
-# prefer to use XPath just remove this line and adjust any selectors in your
-# steps to use the XPath syntax.
-Capybara.default_selector = :css
-
-Capybara.save_and_open_page_path = "tmp/capybara"
-
-# By default, any exception happening in your Rails application will bubble up
-# to Cucumber so that your scenario will fail. This is a different from how
-# your application behaves in the production environment, where an error page will
-# be rendered instead.
-#
-# Sometimes we want to override this default behaviour and allow Rails to rescue
-# exceptions and display an error page (just like when the app is running in production).
-# Typical scenarios where you want to do this is when you test your error pages.
-# There are two ways to allow Rails to rescue exceptions:
-#
-# 1) Tag your scenario (or feature) with @allow-rescue
-#
-# 2) Set the value below to true. Beware that doing this globally is not
-# recommended as it will mask a lot of errors for you!
-#
-ActionController::Base.allow_rescue = false
-
-# Remove/comment out the lines below if your app doesn't have a database.
-# For some databases (like MongoDB and CouchDB) you may need to use :truncation instead.
-#begin
-# DatabaseCleaner.strategy = :transaction
-#rescue NameError
-# raise "You need to add database_cleaner to your Gemfile (in the :test group) if you wish to use it."
-#end
-
-# You may also want to configure DatabaseCleaner to use different strategies for certain features and scenarios.
-# See the DatabaseCleaner documentation for details. Example:
-#
-# Before('@no-txn,@selenium,@culerity,@celerity,@javascript') do
-# DatabaseCleaner.strategy = :truncation, :except => %w[widgets]
-# end
-#
-# Before('~@no-txn', '~@selenium', '~@culerity', '~@celerity', '~@javascript') do
-# DatabaseCleaner.strategy = :transaction
-# end
-#
diff --git a/features/support/paths.rb b/features/support/paths.rb
deleted file mode 100644
index ee9b251..0000000
--- a/features/support/paths.rb
+++ /dev/null
@@ -1,33 +0,0 @@
-module NavigationHelpers
- # Maps a name to a path. Used by the
- #
- # When /^I go to (.+)$/ do |page_name|
- #
- # step definition in web_steps.rb
- #
- def path_to(page_name)
- case page_name
-
- when /^the home\s?page$/
- '/'
-
- # Add more mappings here.
- # Here is an example that pulls values out of the Regexp:
- #
- # when /^(.*)'s profile page$/i
- # user_profile_path(User.find_by_login($1))
-
- else
- begin
- page_name =~ /^the (.*) page$/
- path_components = $1.split(/\s+/)
- self.send(path_components.push('path').join('_').to_sym)
- rescue NoMethodError, ArgumentError
- raise "Can't find mapping from \"#{page_name}\" to a path.\n" +
- "Now, go and add a mapping in #{__FILE__}"
- end
- end
- end
-end
-
-World(NavigationHelpers)
diff --git a/features/support/selectors.rb b/features/support/selectors.rb
deleted file mode 100644
index 44e34a4..0000000
--- a/features/support/selectors.rb
+++ /dev/null
@@ -1,39 +0,0 @@
-module HtmlSelectorsHelpers
- # Maps a name to a selector. Used primarily by the
- #
- # When /^(.+) within (.+)$/ do |step, scope|
- #
- # step definitions in web_steps.rb
- #
- def selector_for(locator)
- case locator
-
- when "the page"
- "html > body"
-
- # Add more mappings here.
- # Here is an example that pulls values out of the Regexp:
- #
- # when /^the (notice|error|info) flash$/
- # ".flash.#{$1}"
-
- # You can also return an array to use a different selector
- # type, like:
- #
- # when /the header/
- # [:xpath, "//header"]
-
- # This allows you to provide a quoted selector as the scope
- # for "within" steps as was previously the default for the
- # web steps:
- when /^"(.+)"$/
- $1
-
- else
- raise "Can't find mapping from \"#{locator}\" to a selector.\n" +
- "Now, go and add a mapping in #{__FILE__}"
- end
- end
-end
-
-World(HtmlSelectorsHelpers)
diff --git a/lib/tasks/config.rake b/lib/tasks/config.rake
index b069e4b..f4db6db 100644
--- a/lib/tasks/config.rake
+++ b/lib/tasks/config.rake
@@ -6,7 +6,8 @@ namespace :config do
'ILC AL Libs',
'ILC Lib PCR',
'ILC Lib PCR-XP',
- 'ILC AL Libs Tagged'
+ 'ILC AL Libs Tagged',
+ 'ILC Lib Chromium'
]
QC_PLATE_PURPOSES = [
@@ -71,9 +72,36 @@ namespace :config do
# Setup a hash that will enable us to lookup the form, presenter, and state changing classes
# based on the name of the plate purpose. We can then use that to generate the information for
# the mapping from UUID.
+
+ # :form_class
+ # The class used to create a plate: Form::CreationForm is a direct stamp and immediate redirect
+
+ # :presenter_class
+ # The class used to display a plate. Mainly determines which tabs are shown
+
+ # state_changer_class
+ # The class created on state change. Can perform additional actions
+
+ # :default_printer_uuid
+ # The uuid of the default printer.
+ # Use eg. barcode_printer_uuid.('h105bc2') to lookup by name
+
+ # :tag_layout_templates [Optional]
+ # Used by tagging form. Filters list in drop down.
+ # Shows all if empty or not specified.
+
+ # :tags_per_well [Optional]
+ # Used by tagging form. Determines values of tags per
+ # well dropdown/fixed field. Defaults to 1 if not defined.
+
+ # :walking_by [Optional]
+ # Filter the available walking by options.
+ # default: ['manual by plate', 'manual by pool', 'wells of plate']
+
#
# The inner block is laid out so that the class names align, not so it's readable!
name_to_details = Hash.new do |h,k|
+ # The default values
h[k] = {
:form_class => 'Forms::CreationForm',
:presenter_class => 'Presenters::StandardPresenter',
@@ -82,7 +110,6 @@ namespace :config do
}
end.tap do |presenters|
# Illumina-C plates
-
presenters['ILC Stock'].merge!(
:presenter_class => 'Presenters::StockPlatePresenter'
)
@@ -91,12 +118,6 @@ namespace :config do
)
presenters['ILC Lib PCR'].merge!(
:form_class => 'Forms::TaggingForm',
- :tag_layout_templates => [
- 'Illumina C - Sanger_168tags - 10 mer tags',
- 'Illumina C - TruSeq small RNA index tags - 6 mer tags',
- 'Illumina C - TruSeq mRNA Adapter Index Sequences',
- 'TruSeq mRNA Adapter and NEB Small RNA Index Sequences - 6mer',
- 'NEXTFLEX_48 - 6 mer tags in column major order (first oligo: CGATGT)'],
:presenter_class => 'Presenters::TaggedPresenter'
)
presenters['ILC Lib PCR-XP'].merge!(
@@ -104,22 +125,25 @@ namespace :config do
:presenter_class => 'Presenters::FinalPlatePresenter'
)
presenters['ILC AL Libs Tagged'].merge!(
+ :state_changer_class => 'StateChangers::PlateToTubeStateChanger',
+ :form_class => 'Forms::TaggingForm',
+ :presenter_class => 'Presenters::QCTaggedPresenter'
+ )
+ presenters['ILC Lib Chromium'].merge!(
:state_changer_class => 'StateChangers::PlateToTubeStateChanger',
:form_class => 'Forms::TaggingForm',
:tag_layout_templates => [
- 'Illumina C - Sanger_168tags - 10 mer tags',
- 'Illumina C - TruSeq small RNA index tags - 6 mer tags',
- 'Illumina C - TruSeq mRNA Adapter Index Sequences',
- 'TruSeq mRNA Adapter and NEB Small RNA Index Sequences - 6mer',
- 'NEXTFLEX_48 - 6 mer tags in column major order (first oligo: CGATGT)',
- 'NEXTflex-96 barcoded adapters tags in rows (first oligo: AACGTGAT)'
+ 'Chromium Genome 96',
+ 'Chromium Single Cell'
],
- :presenter_class => 'Presenters::QCTaggedPresenter'
+ :presenter_class => 'Presenters::QCTaggedPresenter',
+ :tags_per_well => [4],
+ :walking_by => ['as group by plate']
)
presenters['ILC Lib Pool Norm'].merge!(
:form_class => 'Forms::TubesForm',
:presenter_class => 'Presenters::FinalTubePresenter',
- :default_printer_uuid => barcode_printer_uuid.('h105bc2')
+ :default_printer_uuid => barcode_printer_uuid.('h105bc')
)
presenters['ILC QC Pool'].merge!(
:form_class => 'Forms::PooledTubesForm',
@@ -148,10 +172,13 @@ namespace :config do
end
configuration[:request_types] = {}.tap do |request_types|
+ # Array is [child_purpose,poolable]
+ # poolable: automatically pool tubes on qc_complete.
request_types['Illumina-C Library Creation PCR'] = ['ILC AL Libs',true]
request_types['Illumina-C Library Creation PCR No Pooling'] = ['ILC AL Libs',false]
request_types['Illumina-C Library Creation No PCR'] = ['ILC AL Libs Tagged',true]
request_types['Illumina-C Library Creation No PCR No Pooling'] = ['ILC AL Libs Tagged',false]
+ request_types['Illumina-C Chromium library creation'] = ['ILC Lib Chromium',true]
end
@@ -187,6 +214,13 @@ namespace :config do
printers['default_count'] = 2
end
+ configuration[:metadata_key_options] = [
+ 'example 1',
+ 'example 2',
+ 'example 3',
+ 'example 4'
+ ]
+
end
diff --git a/lib/tasks/test_settings.rake b/lib/tasks/test_settings.rake
new file mode 100644
index 0000000..daa568e
--- /dev/null
+++ b/lib/tasks/test_settings.rake
@@ -0,0 +1,12 @@
+namespace :test_settings do
+ task :generate do
+ settings = {searches: {'Find something' => nil},
+ transfer_templates: {'Transfer columns' => nil},
+ purposes: {'purpose-uuid' => nil},
+ request_types: {'Request_type' => nil},
+ purpose_uuids: {'purpose' => 'uuid'},
+ printers: {'limit' => 5, 'default_count' => 2},
+ metadata_key_options: ['Key1', 'Key2', 'Key3', 'Key4']}
+ File.open(File.join(Rails.root, %w{config settings}, "test.yml"), "w") {|f| f.write(settings.to_yaml)}
+ end
+end
\ No newline at end of file
diff --git a/public/javascripts/application.js b/public/javascripts/application.js
index 5c27422..50a6fec 100644
--- a/public/javascripts/application.js
+++ b/public/javascripts/application.js
@@ -211,6 +211,19 @@
var viewModel = new SCAPE.PlateViewModel(plate, plateElement, control);
+ $('.aliquot').each(function() {
+ if ($(this).children().length < 2) { return; }
+
+ var aliquot = this;
+
+ this.slide = function() {
+ aliquot.appendChild( aliquot.children[0] );
+ window.setTimeout(aliquot.slide,1000);
+ };
+
+ this.slide();
+ })
+
control.on('change', 'input:radio', function(event){
@@ -390,6 +403,154 @@
$(document).on('pageinit', '#tag-creation-page', function(){
+
+ var qcLookup;
+
+
+ // A status collector can have monitors registered. It will trigger
+ // its onSuccess event when all monitors are true, and its onRevert
+ // event if any are false.
+ var statusCollector = function(onSuccess,onRevert) {
+ // Fires when all guards are true
+ this.onSuccess = onSuccess;
+ // Fires if a guard is invalidated
+ this.onRevert = onRevert;
+ this.monitors = [];
+ };
+
+ // Monitors are registered to a collector. When the change state they
+ // trigger the collector to check the state of all its monitors.
+ var monitor = function(state,collector) {
+ this.valid = state||false;
+ this.collector = collector;
+ }
+
+ monitor.prototype = {
+ pass: function () {
+ this.valid = true;
+ this.collector.collate();
+ },
+ fail: function () {
+ this.valid = false;
+ this.collector.collate();
+ }
+ }
+
+ statusCollector.prototype = {
+ register: function (status) {
+ var new_monitor = new monitor(status,this);
+ this.monitors.push(new_monitor)
+ return new_monitor;
+ },
+ collate: function () {
+ for (var i =0; i < this.monitors.length; i+=1) {
+ if (!this.monitors[i].valid) { return this.onRevert(); }
+ }
+ return this.onSuccess();
+ }
+ }
+
+
+ $.ajaxSetup({
+ beforeSend: function(xhr) {
+ xhr.setRequestHeader('X-CSRF-Token', $('meta[name="csrf-token"]').attr('content'));
+ }
+ });
+
+ qcLookup = function(barcodeBox,collector) {
+ if (barcodeBox.length == 0) { return false; }
+ var qc_lookup = this, status;
+ this.inputBox = barcodeBox;
+ this.infoPanelId = $('#'+barcodeBox.data('info-panel'));
+ // this.qcableType = barcodeBox.data('qcable-type');
+ this.approvedTypes = SCAPE[barcodeBox.data('approved-list')];
+ this.required = this.inputBox[0].required;
+ this.inputBox.on('change',function(){
+ qc_lookup.resetStatus();
+ qc_lookup.requestPlate(this.value);
+ });
+ this.monitor = collector.register(!this.required);
+ };
+
+ qcLookup.prototype = {
+ resetStatus: function() {
+ this.monitor.fail();
+ this.infoPanelId.find('dd').text('');
+ this.infoPanelId.find('input').val(null);
+ },
+ requestPlate: function(barcode) {
+ if ( this.inputBox.val()==="" && !this.required ) { return this.monitor.pass();}
+ $.ajax({
+ type: 'POST',
+ dataType: "json",
+ url: '/search/qcables',
+ data: 'qcable_barcode='+this.inputBox.val()
+ }).then(this.success(),this.error());
+ },
+ success: function() {
+ var qc_lookup = this;
+ return function(response) {
+ if (response.error) {
+ qc_lookup.message(response.error,'invalid')
+ } else if (response.qcable) {
+ qc_lookup.plateFound(response.qcable)
+ } else {
+ console.log(response);
+ qc_lookup.message('An unexpected response was received. Please contact support.','invalid');
+ }
+ };
+ },
+ error: function() {
+ var qc_lookup = this;
+ return function() {
+ qc_lookup.message('The barcode could not be found. There may be network issues, or problems with Sequencescape.','invalid')
+ };
+ },
+ plateFound: function(qcable) {
+ this.populateData(qcable);
+ if (this.validPlate(qcable)) {
+ this.message('The ' + qcable.qcable_type + ' is suitable.'+this.errors,'valid');
+ this.monitor.pass();
+ } else {
+ this.message(' The ' + qcable.qcable_type + ' is not suitable.'+this.errors,'invalid')
+ }
+ },
+ populateData: function(qcable) {
+ this.infoPanelId.find('dd.lot-number').text(qcable.lot_number);
+ this.infoPanelId.find('dd.template').text(qcable.tag_layout);
+ this.infoPanelId.find('dd.state').text(qcable.state);
+ this.infoPanelId.find('.asset_uuid').val(qcable.asset_uuid);
+ this.infoPanelId.find('.template_uuid').val(qcable.template_uuid);
+ },
+ validPlate: function(qcable) {
+ this.errors = '';
+
+ if (qcable.state !== 'available') { this.errors += ' The scanned item is not available.' };
+ // if (qcable.type !== this.qcableType ) { this.errors += ' The scanned item is not a(n) ' + this.qcableType + '.' };
+ this.validateTemplate(qcable);
+ return this.errors === '';
+ },
+ validateTemplate: function(qcable) {
+ if (this.approvedTypes[qcable.template_uuid] === undefined) { this.errors += ' It does not contain suitable tags.'}
+ },
+ message: function(message,status) {
+ this.infoPanelId.find('.qc_validation_report').empty().append(
+ $(document.createElement('div')).
+ addClass('report').
+ addClass(status).
+ text(message)
+ );
+ },
+ errors: ''
+ };
+
+ var qcCollector = new statusCollector(
+ function () {$('#plate_submit').button('enable') },
+ function () {$('#plate_submit').button('disable') }
+ );
+
+ new qcLookup($('#plate_tag2_tube_barcode'),qcCollector);
+
$.extend(SCAPE, {
tagpaletteTemplate : _.template(SCAPE.tag_palette_template),
@@ -411,6 +572,8 @@
},
+ templateMonitor : qcCollector.register(false),
+
tagSubstitutionHandler : function() {
var sourceAliquot = $(this);
var originalTag = sourceAliquot.data('originalTag');
@@ -454,12 +617,12 @@
},
validLayout : function() {
- $('#plate_submit').button('enable');
+ SCAPE.templateMonitor.pass();
SCAPE.message('','');
},
invalidLayout : function() {
- $('#plate_submit').button('disable');
+ SCAPE.templateMonitor.fail();
SCAPE.message('Some wells are missing tags. You may have insufficient tags available on your selected template, or have chosen to skip even columns when those wells contain material.','invalid');
},
@@ -509,7 +672,7 @@
},
rearray : function() {
- var offset,tags, onComplete, noTag, start_tag, byPlate, tagFor, byColumn, walkProcess;
+ var offset,tags, onComplete, noTag, start_tag, byPlate, tagFor, byColumn, walkProcess,tags_per_well;
offset = parseInt($('#plate_offset').val(), 10);
byColumn = ($('#plate_direction').val()==='column');
@@ -519,6 +682,7 @@
tags = $(SCAPE.tags_by_name[$('#plate_tag_group_uuid option:selected').text()])
onComplete = SCAPE.validLayout;
start_tag = parseInt($('#plate_tag_start').val(), 10);
+ tags_per_well = parseInt($('#plate_tags_per_well').val(), 10);
walkProcess = $('#plate_walking_by').val()
@@ -543,8 +707,11 @@
case 'manual by pool':
tag_index = position+start_tag;
break;
+ case 'as group by plate':
+ tag_index = well_index * tags_per_well + start_tag;
+ return (tags[tag_index]||noTag())+'..';
default:
- alert('Unknown tagging strategy');
+ alert('Unknown tagging strategy: ' + walkProcess);
break;
}
return tags[tag_index]||noTag();
diff --git a/public/javascripts/metadata.js b/public/javascripts/metadata.js
new file mode 100644
index 0000000..034403e
--- /dev/null
+++ b/public/javascripts/metadata.js
@@ -0,0 +1,55 @@
+$(document).ready(function() {
+
+ var id = $(".metadata").children().length+1;
+
+ function add(){
+
+ $('#metadatum-template').clone()
+ .insertBefore(this)
+ .attr("id", "metadatum" + id)
+ .on('click', '.remove_metadatum', remove)
+ .find('input').attr('required', 'true');
+ $('#metadatum' + id)
+ .on('change', 'select', checkDupKeys)
+ .find('select')
+ .attr('id', "metadata__key__" + id)
+ $('#metadata__key__'+id).selectmenu();
+
+ checkDupKeys()
+ id++
+ };
+
+ function remove(){
+ $(this).parent().parent().remove()
+ };
+
+ function checkDupKeys(){
+ var stored = [];
+ var inputs = $('select[id^="metadata__key__"');
+ var dupKeys = false;
+
+ $.each(inputs,function(k,v){
+ var getVal = $(v).val();
+ if(stored.indexOf(getVal) != -1){
+ $(v).parent().css('border-color','red');
+ dupKeys = true;
+ }else{
+ $(v).parent().css('border-color','#aaa');
+ stored.push($(v).val());
+ };
+ });
+ return dupKeys
+ };
+
+ $('#metadata-form').submit(function(){
+ var dupKeys = checkDupKeys();
+ if (dupKeys) {
+ return false
+ };
+ });
+
+ $(".add_metadatum").on("click", add);
+ $(".remove_metadatum").on("click", remove);
+ $("select").on("change", checkDupKeys);
+
+});
\ No newline at end of file
diff --git a/public/stylesheets/nonproduction.min b/public/stylesheets/nonproduction.min
new file mode 100644
index 0000000..e69de29
diff --git a/spec/contracts/.about_contracts b/spec/contracts/.about_contracts
new file mode 100644
index 0000000..ce1f7f8
--- /dev/null
+++ b/spec/contracts/.about_contracts
@@ -0,0 +1,10 @@
+This follows the testing pattern established in the sequencescape-client-api itself
+
+A contract composes two files:
+- retrieve-contract-name
+- contract name
+
+The former lists the expected headers/content of the request
+The later includes the headers/content of the response
+
+A contract is declared through the use of stub_request_and_respone('contract_name') in the context.
diff --git a/spec/contracts/api-root.txt b/spec/contracts/api-root.txt
new file mode 100644
index 0000000..0b3bc85
--- /dev/null
+++ b/spec/contracts/api-root.txt
@@ -0,0 +1,336 @@
+HTTP/1.1 200 OK
+Content-Type: application/json
+
+{
+ "revision": 2,
+ "asset_audits": {
+ "actions": {
+ "read": "http://localhost:3000/asset_audits",
+ "create": "http://localhost:3000/asset_audits"
+ }
+ },
+ "asset_groups": {
+ "actions": {
+ "read": "http://localhost:3000/asset_groups"
+ }
+ },
+ "assets": {
+ "actions": {
+ "read": "http://localhost:3000/assets"
+ }
+ },
+ "bait_library_layouts": {
+ "actions": {
+ "read": "http://localhost:3000/bait_library_layouts",
+ "create": "http://localhost:3000/bait_library_layouts",
+ "preview": "http://localhost:3000/bait_library_layouts/preview"
+ }
+ },
+ "barcode_printers": {
+ "actions": {
+ "read": "http://localhost:3000/barcode_printers"
+ }
+ },
+ "batches": {
+ "actions": {
+ "read": "http://localhost:3000/batches"
+ }
+ },
+ "bulk_transfers": {
+ "actions": {
+ "read": "http://localhost:3000/bulk_transfers",
+ "create": "http://localhost:3000/bulk_transfers"
+ }
+ },
+ "comments": {
+ "actions": {
+ "read": "http://localhost:3000/comments"
+ }
+ },
+ "dilution_plate_purposes": {
+ "actions": {
+ "read": "http://localhost:3000/dilution_plate_purposes"
+ }
+ },
+ "lanes": {
+ "actions": {
+ "read": "http://localhost:3000/lanes"
+ }
+ },
+ "library_creation_requests": {
+ "actions": {
+ "read": "http://localhost:3000/library_creation_requests"
+ }
+ },
+ "library_events": {
+ "actions": {
+ "read": "http://localhost:3000/library_events",
+ "create": "http://localhost:3000/library_events"
+ }
+ },
+ "library_tubes": {
+ "actions": {
+ "read": "http://localhost:3000/library_tubes"
+ }
+ },
+ "lot_types": {
+ "actions": {
+ "read": "http://localhost:3000/lot_types"
+ }
+ },
+ "lots": {
+ "actions": {
+ "read": "http://localhost:3000/lots"
+ }
+ },
+ "multiplexed_library_creation_requests": {
+ "actions": {
+ "read": "http://localhost:3000/multiplexed_library_creation_requests"
+ }
+ },
+ "multiplexed_library_tubes": {
+ "actions": {
+ "read": "http://localhost:3000/multiplexed_library_tubes"
+ }
+ },
+ "order_templates": {
+ "actions": {
+ "read": "http://localhost:3000/order_templates"
+ }
+ },
+ "orders": {
+ "actions": {
+ "read": "http://localhost:3000/orders"
+ }
+ },
+ "pipelines": {
+ "actions": {
+ "read": "http://localhost:3000/pipelines"
+ }
+ },
+ "plate_conversions": {
+ "actions": {
+ "read": "http://localhost:3000/plate_conversions",
+ "create": "http://localhost:3000/plate_conversions"
+ }
+ },
+ "plate_creations": {
+ "actions": {
+ "read": "http://localhost:3000/plate_creations",
+ "create": "http://localhost:3000/plate_creations"
+ }
+ },
+ "plate_purposes": {
+ "actions": {
+ "read": "http://localhost:3000/plate_purposes"
+ }
+ },
+ "plate_templates": {
+ "actions": {
+ "read": "http://localhost:3000/plate_templates"
+ }
+ },
+ "plates": {
+ "actions": {
+ "read": "http://localhost:3000/plates"
+ }
+ },
+ "pooled_plate_creations": {
+ "actions": {
+ "read": "http://localhost:3000/pooled_plate_creations",
+ "create": "http://localhost:3000/pooled_plate_creations"
+ }
+ },
+ "projects": {
+ "actions": {
+ "read": "http://localhost:3000/projects"
+ }
+ },
+ "custom_metadatum_collection": {
+ "actions": {
+ "read": "http://localhost:3000/custom_metadatum_collection",
+ "update": "http://localhost:3000/custom_metadatum_collection",
+ "create": "http://localhost:3000/custom_metadatum_collections"
+ }
+ },
+ "qc_decisions": {
+ "actions": {
+ "read": "http://localhost:3000/qc_decisions",
+ "create": "http://localhost:3000/qc_decisions"
+ }
+ },
+ "qc_files": {
+ "actions": {
+ "read": "http://localhost:3000/qc_files"
+ }
+ },
+ "qcable_creators": {
+ "actions": {
+ "read": "http://localhost:3000/qcable_creators",
+ "create": "http://localhost:3000/qcable_creators"
+ }
+ },
+ "qcables": {
+ "actions": {
+ "read": "http://localhost:3000/qcables"
+ }
+ },
+ "reference_genomes": {
+ "actions": {
+ "read": "http://localhost:3000/reference_genomes",
+ "create": "http://localhost:3000/reference_genomes"
+ }
+ },
+ "request_types": {
+ "actions": {
+ "read": "http://localhost:3000/request_types"
+ }
+ },
+ "requests": {
+ "actions": {
+ "read": "http://localhost:3000/requests"
+ }
+ },
+ "robots": {
+ "actions": {
+ "read": "http://localhost:3000/robots"
+ }
+ },
+ "sample_manifests": {
+ "actions": {}
+ },
+ "sample_tubes": {
+ "actions": {
+ "read": "http://localhost:3000/sample_tubes"
+ }
+ },
+ "samples": {
+ "actions": {
+ "read": "http://localhost:3000/samples"
+ }
+ },
+ "searches": {
+ "actions": {
+ "read": "http://localhost:3000/searches"
+ }
+ },
+ "sequencing_requests": {
+ "actions": {
+ "read": "http://localhost:3000/sequencing_requests"
+ }
+ },
+ "specific_tube_creations": {
+ "actions": {
+ "read": "http://localhost:3000/specific_tube_creations",
+ "create": "http://localhost:3000/specific_tube_creations"
+ }
+ },
+ "stamps": {
+ "actions": {
+ "read": "http://localhost:3000/stamps",
+ "create": "http://localhost:3000/stamps"
+ }
+ },
+ "state_changes": {
+ "actions": {
+ "read": "http://localhost:3000/state_changes",
+ "create": "http://localhost:3000/state_changes"
+ }
+ },
+ "studies": {
+ "actions": {
+ "read": "http://localhost:3000/studies"
+ }
+ },
+ "submission_pools": {
+ "actions": {
+ "read": "http://localhost:3000/submission_pools"
+ }
+ },
+ "submissions": {
+ "actions": {
+ "read": "http://localhost:3000/submissions",
+ "create": "http://localhost:3000/submissions"
+ }
+ },
+ "suppliers": {
+ "actions": {
+ "read": "http://localhost:3000/suppliers"
+ }
+ },
+ "tag2_layout_templates": {
+ "actions": {
+ "read": "http://localhost:3000/tag2_layout_templates"
+ }
+ },
+ "tag2_layouts": {
+ "actions": {
+ "read": "http://localhost:3000/tag2_layouts",
+ "create": "http://localhost:3000/tag2_layouts"
+ }
+ },
+ "tag_groups": {
+ "actions": {
+ "read": "http://localhost:3000/tag_groups"
+ }
+ },
+ "tag_layout_templates": {
+ "actions": {
+ "read": "http://localhost:3000/tag_layout_templates"
+ }
+ },
+ "tag_layouts": {
+ "actions": {
+ "read": "http://localhost:3000/tag_layouts",
+ "create": "http://localhost:3000/tag_layouts"
+ }
+ },
+ "transfer_templates": {
+ "actions": {
+ "read": "http://localhost:3000/transfer_templates"
+ }
+ },
+ "transfers": {
+ "actions": {
+ "read": "http://localhost:3000/transfers"
+ }
+ },
+ "tube_creations": {
+ "actions": {
+ "read": "http://localhost:3000/tube_creations",
+ "create": "http://localhost:3000/tube_creations"
+ }
+ },
+ "tube_from_tube_creations": {
+ "actions": {
+ "read": "http://localhost:3000/tube_from_tube_creations",
+ "create": "http://localhost:3000/tube_from_tube_creations"
+ }
+ },
+ "tubes": {
+ "actions": {
+ "read": "http://localhost:3000/tubes"
+ }
+ },
+ "users": {
+ "actions": {
+ "read": "http://localhost:3000/users"
+ }
+ },
+ "uuids": {
+ "actions": {
+ "lookup": "http://localhost:3000/uuids/lookup",
+ "bulk": "http://localhost:3000/uuids/bulk"
+ }
+ },
+ "wells": {
+ "actions": {
+ "read": "http://localhost:3000/wells"
+ }
+ },
+ "tube_purposes": {
+ "actions": {
+ "read": "http://localhost:3000/tube/purposes"
+ }
+ }
+}
diff --git a/spec/contracts/barcode-printers.txt b/spec/contracts/barcode-printers.txt
new file mode 100644
index 0000000..bd58278
--- /dev/null
+++ b/spec/contracts/barcode-printers.txt
@@ -0,0 +1,166 @@
+HTTP/1.1 200 OK
+Content-Type: application/json
+
+{
+ "actions": {
+ "read": "http://localhost:3000/barcode_printers/1",
+ "first": "http://localhost:3000/barcode_printers/1",
+ "last": "http://localhost:3000/barcode_printers/1"
+ },
+ "size": 12,
+ "barcode_printers": [
+ {
+ "created_at": "2016-09-15 15:49:00 +0100",
+ "updated_at": "2016-09-15 15:49:00 +0100",
+ "actions": {
+ "read": "http://localhost:3000/barcode-printer-uuid"
+ },
+ "uuid": "barcode-printer-uuid",
+ "active": null,
+ "name": "g312bc2",
+ "service": {
+ "url": "http://localhost:9998/barcode_service.wsdl"
+ },
+ "type": {
+ "layout": 1,
+ "name": "96 Well Plate"
+ }
+ },
+ {
+ "created_at": "2016-09-15 15:49:00 +0100",
+ "updated_at": "2016-09-15 15:49:00 +0100",
+ "actions": {
+ "read": "http://localhost:3000/barcode-printer-uuid"
+ },
+ "uuid": "barcode-printer-uuid",
+ "active": null,
+ "name": "g311bc2",
+ "service": {
+ "url": "http://localhost:9998/barcode_service.wsdl"
+ },
+ "type": {
+ "layout": 1,
+ "name": "96 Well Plate"
+ }
+ },
+ {
+ "created_at": "2016-09-15 15:49:00 +0100",
+ "updated_at": "2016-09-15 15:49:00 +0100",
+ "actions": {
+ "read": "http://localhost:3000/barcode-printer-uuid"
+ },
+ "uuid": "barcode-printer-uuid",
+ "active": null,
+ "name": "g316bc",
+ "service": {
+ "url": "http://localhost:9998/barcode_service.wsdl"
+ },
+ "type": {
+ "layout": 1,
+ "name": "96 Well Plate"
+ }
+ },
+ {
+ "created_at": "2016-09-15 15:49:00 +0100",
+ "updated_at": "2016-09-15 15:49:00 +0100",
+ "actions": {
+ "read": "http://localhost:3000/barcode-printer-uuid"
+ },
+ "uuid": "barcode-printer-uuid",
+ "active": null,
+ "name": "g317bc",
+ "service": {
+ "url": "http://localhost:9998/barcode_service.wsdl"
+ },
+ "type": {
+ "layout": 1,
+ "name": "96 Well Plate"
+ }
+ },
+ {
+ "created_at": "2016-09-15 15:49:00 +0100",
+ "updated_at": "2016-09-15 15:49:00 +0100",
+ "actions": {
+ "read": "http://localhost:3000/barcode-printer-uuid"
+ },
+ "uuid": "barcode-printer-uuid",
+ "active": null,
+ "name": "g314bc",
+ "service": {
+ "url": "http://localhost:9998/barcode_service.wsdl"
+ },
+ "type": {
+ "layout": 1,
+ "name": "96 Well Plate"
+ }
+ },
+ {
+ "created_at": "2016-09-15 15:49:00 +0100",
+ "updated_at": "2016-09-15 15:49:00 +0100",
+ "actions": {
+ "read": "http://localhost:3000/barcode-printer-uuid"
+ },
+ "uuid": "barcode-printer-uuid",
+ "active": null,
+ "name": "g311bc1",
+ "service": {
+ "url": "http://localhost:9998/barcode_service.wsdl"
+ },
+ "type": {
+ "layout": 2,
+ "name": "1D Tube"
+ }
+ },
+ {
+ "created_at": "2016-09-15 15:50:44 +0100",
+ "updated_at": "2016-09-15 15:50:44 +0100",
+ "actions": {
+ "read": "http://localhost:3000/barcode-printer-uuid"
+ },
+ "uuid": "barcode-printer-uuid",
+ "active": null,
+ "name": "h105bc2",
+ "service": {
+ "url": "http://localhost:9998/barcode_service.wsdl"
+ },
+ "type": {
+ "layout": 2,
+ "name": "1D Tube"
+ }
+ },
+ {
+ "created_at": "2016-09-15 15:50:52 +0100",
+ "updated_at": "2016-09-15 15:50:52 +0100",
+ "actions": {
+ "read": "http://localhost:3000/barcode-printer-uuid"
+ },
+ "uuid": "barcode-printer-uuid",
+ "active": null,
+ "name": "h105bc",
+ "service": {
+ "url": "http://localhost:9998/barcode_service.wsdl"
+ },
+ "type": {
+ "layout": 2,
+ "name": "1D Tube"
+ }
+ },
+ {
+ "created_at": "2016-09-23 09:21:20 +0100",
+ "updated_at": "2016-09-23 09:21:20 +0100",
+ "actions": {
+ "read": "http://localhost:3000/barcode-printer-uuid"
+ },
+ "uuid": "barcode-printer-uuid",
+ "active": true,
+ "name": "384abc",
+ "service": {
+ "url": "http://localhost:9998/barcode_service.wsdl"
+ },
+ "type": {
+ "layout": 6,
+ "name": "384 Well Plate"
+ }
+ }
+ ]
+}
\ No newline at end of file
diff --git a/spec/contracts/create-custom-metadatum-collection.txt b/spec/contracts/create-custom-metadatum-collection.txt
new file mode 100644
index 0000000..480fd56
--- /dev/null
+++ b/spec/contracts/create-custom-metadatum-collection.txt
@@ -0,0 +1,32 @@
+HTTP/1.1 201 OK
+Content-Type: application/json
+
+{
+ "custom_metadatum_collection": {
+ "created_at": "2016-10-20 10:49:05 +0100",
+ "updated_at": "2016-10-20 10:49:05 +0100",
+ "asset": {
+ "actions": {
+ "read": "http://localhost:3000/ilc-stock-plate-uuid"
+ },
+ "uuid": "ilc-stock-plate-uuid"
+ },
+ "user": {
+ "actions": {
+ "read": "http://localhost:3000/user-uuid",
+ "update": "http://localhost:3000/user-uuid"
+ },
+ "uuid": "user-uuid"
+ },
+ "actions": {
+ "read": "http://localhost:3000/custom-metadatum-collection-uuid",
+ "update": "http://localhost:3000/custom-metadatum-collection-uuid"
+ },
+ "uuid": "custom-metadatum-collection-uuid",
+ "metadata": {
+ "Key1": "Value1",
+ "Key2": "Value2",
+ "Key3": "Value3"
+ }
+ }
+}
\ No newline at end of file
diff --git a/spec/contracts/custom-metadatum-collection-2.txt b/spec/contracts/custom-metadatum-collection-2.txt
new file mode 100644
index 0000000..ce1fa19
--- /dev/null
+++ b/spec/contracts/custom-metadatum-collection-2.txt
@@ -0,0 +1,31 @@
+HTTP/1.1 200 OK
+Content-Type: application/json
+
+{
+ "custom_metadatum_collection": {
+ "created_at": "2016-10-18 14:22:47 +0100",
+ "updated_at": "2016-10-18 14:22:47 +0100",
+ "asset": {
+ "actions": {
+ "read": "http://localhost:3000/ilc-stock-plate-with-metadata-uuid"
+ },
+ "uuid": "ilc-stock-plate-with-metadata-uuid"
+ },
+ "user": {
+ "actions": {
+ "read": "http://localhost:3000/user-uuid"
+ },
+ "uuid": "user-uuid"
+ },
+ "actions": {
+ "read": "http://localhost:3000/custom-metadatum-collection-2-uuid",
+ "update":"http://localhost:3000/custom-metadatum-collection-2-uuid"
+ },
+ "uuid": "custom-metadatum-collection-2-uuid",
+ "metadata": {
+ "Key1": "Value1",
+ "Key2": "Value2",
+ "Key3": "Value3"
+ }
+ }
+}
\ No newline at end of file
diff --git a/spec/contracts/custom-metadatum-collection-3.txt b/spec/contracts/custom-metadatum-collection-3.txt
new file mode 100644
index 0000000..58114bf
--- /dev/null
+++ b/spec/contracts/custom-metadatum-collection-3.txt
@@ -0,0 +1,31 @@
+HTTP/1.1 200 OK
+Content-Type: application/json
+
+{
+ "custom_metadatum_collection": {
+ "created_at": "2016-10-18 14:22:47 +0100",
+ "updated_at": "2016-10-18 14:22:47 +0100",
+ "asset": {
+ "actions": {
+ "read": "http://localhost:3000/ilc-stock-plate-with-metadata-uuid"
+ },
+ "uuid": "ilc-stock-plate-with-metadata-uuid"
+ },
+ "user": {
+ "actions": {
+ "read": "http://localhost:3000/user-uuid"
+ },
+ "uuid": "user-uuid"
+ },
+ "actions": {
+ "read": "http://localhost:3000/custom-metadatum-collection-3-uuid",
+ "update":"http://localhost:3000/custom-metadatum-collection-3-uuid"
+ },
+ "uuid": "custom-metadatum-collection-3-uuid",
+ "metadata": {
+ "Key1": "Value1",
+ "Key2": "Value2",
+ "Key3": "Value3"
+ }
+ }
+}
\ No newline at end of file
diff --git a/spec/contracts/custom-metadatum-collection.txt b/spec/contracts/custom-metadatum-collection.txt
new file mode 100644
index 0000000..70649b7
--- /dev/null
+++ b/spec/contracts/custom-metadatum-collection.txt
@@ -0,0 +1,31 @@
+HTTP/1.1 200 OK
+Content-Type: application/json
+
+{
+ "custom_metadatum_collection": {
+ "created_at": "2016-10-18 14:22:47 +0100",
+ "updated_at": "2016-10-18 14:22:47 +0100",
+ "asset": {
+ "actions": {
+ "read": "http://localhost:3000/ilc-stock-plate-with-metadata-uuid"
+ },
+ "uuid": "ilc-stock-plate-with-metadata-uuid"
+ },
+ "user": {
+ "actions": {
+ "read": "http://localhost:3000/user-uuid"
+ },
+ "uuid": "user-uuid"
+ },
+ "actions": {
+ "read": "http://localhost:3000/custom-metadatum-collection-uuid",
+ "update":"http://localhost:3000/custom-metadatum-collection-uuid"
+ },
+ "uuid": "custom-metadatum-collection-uuid",
+ "metadata": {
+ "Key1": "Value1",
+ "Key2": "Value2",
+ "Key3": "Value3"
+ }
+ }
+}
diff --git a/spec/contracts/custom-plate-transfer-template.txt b/spec/contracts/custom-plate-transfer-template.txt
new file mode 100644
index 0000000..76e9962
--- /dev/null
+++ b/spec/contracts/custom-plate-transfer-template.txt
@@ -0,0 +1,17 @@
+HTTP/1.1 200 OK
+Content-Type: application/json
+
+{
+ "transfer_template": {
+ "created_at": "2011-08-05 18:22:21 +0100",
+ "updated_at": "2011-08-05 18:22:21 +0100",
+ "actions": {
+ "read": "http://localhost:3000/custom-plate-transfer-template-uuid",
+ "create": "http://localhost:3000/custom-plate-transfer-template-uuid",
+ "preview": "http://localhost:3000/custom-plate-transfer-template-uuid/preview"
+ },
+ "uuid": "custom-plate-transfer-template-uuid",
+ "name": "Custom pooling",
+ "transfers": null
+ }
+}
diff --git a/spec/contracts/custom-plate-transfer-to-ilc-al-libs-tagged.txt b/spec/contracts/custom-plate-transfer-to-ilc-al-libs-tagged.txt
new file mode 100644
index 0000000..07853e0
--- /dev/null
+++ b/spec/contracts/custom-plate-transfer-to-ilc-al-libs-tagged.txt
@@ -0,0 +1,4 @@
+HTTP/1.1 201 OK
+Content-Type: application/json
+
+{"transfer":{"actions":{"read":"http://localhost:3000//transfer-to-ilc-al-libs-tagged"},"uuid":"transfer-to-ilc-al-libs-tagged","destination":{"comments":{"size":0,"actions":{"read":"http://localhost:3000/ilc-al-libs-tagged-plate-uuid/comments"}},"wells":{"size":96,"actions":{"read":"http://localhost:3000/ilc-al-libs-tagged-plate-uuid/wells"}},"submission_pools":{"size":1,"actions":{"read":"http://localhost:3000/ilc-al-libs-tagged-plate-uuid/submission_pools"}},"requests":{"size":0,"actions":{"read":"http://localhost:3000/ilc-al-libs-tagged-plate-uuid/requests"}},"qc_files":{"size":1,"actions":{"read":"http://localhost:3000/ilc-al-libs-tagged-plate-uuid/qc_files"}},"source_transfers":{"size":1,"actions":{"read":"http://localhost:3000/ilc-al-libs-tagged-plate-uuid/source_transfers"}},"transfers_to_tubes":{"size":1,"actions":{"read":"http://localhost:3000/ilc-al-libs-tagged-plate-uuid/transfers_to_tubes"}},"creation_transfers":{"size":1,"actions":{"read":"http://localhost:3000/ilc-al-libs-tagged-plate-uuid/creation_transfers"}},"plate_purpose":{"actions":{"read":"http://localhost:3000/ilc-al-libs-tagged-uuid"},"uuid":"ilc-al-libs-tagged-uuid","lifespan":null,"name":"ILC AL Libs Tagged"},"actions":{"read":"http://localhost:3000/ilc-al-libs-tagged-plate-uuid"},"uuid":"ilc-al-libs-tagged-plate-uuid","name":"Plate 459528","qc_state":null,"barcode":{"ean13":"1220459528675","number":"459528","prefix":"DN","two_dimensional":null,"type":1},"iteration":1,"label":{"prefix":"No PCR (Plate) PCR","text":"ILC AL Libs Tagged"},"location":"Library creation freezer","pools":{"pool-1-uuid":{"wells":["A1","A2","B1","B2","C1","C2","D1","D2","E1","E2","F1","F2","G1","G2","H1"],"insert_size":{"from":100,"to":300},"library_type":{"name":"RNA-seq dUTP eukaryotic"},"request_type":"Illumina-C Library Creation PCR"},"pool-2-uuid":{"wells":["A3","A4","B3","B4","C3","C4","D3","D4","E3","E4","F3","F4","G3","H2","H3"],"insert_size":{"from":100,"to":300},"library_type":{"name":"RNA-seq dUTP eukaryotic"},"request_type":"Illumina-C Library Creation PCR"}},"pre_cap_groups":{},"priority":0,"size":96,"state":"passed","stock_plate":{"barcode":{"ean13":"1220427444877","number":"427444","prefix":"DN","two_dimensional":null,"type":1},"pre_cap_groups":{},"priority":0,"size":96,"state":"qc_complete","stock_plate":{"barcode":{"ean13":"1220459268663","number":"459268","prefix":"DN","two_dimensional":null,"type":1},"uuid":"ilc-stock-plate-uuid"}},"source":{"created_at":"2016-08-23 12:34:45 +0100","updated_at":"2016-08-23 12:35:48 +0100","comments":{"size":0,"actions":{"read":"http://localhost:3000/ilc-stock-plate-uuid/comments"}},"wells":{"size":4,"actions":{"read":"http://localhost:3000/ilc-stock-plate-uuid/wells"}},"submission_pools":{"size":1,"actions":{"read":"http://localhost:3000/ilc-stock-plate-uuid/submission_pools"}},"requests":{"size":0,"actions":{"read":"http://localhost:3000/ilc-stock-plate-uuid/requests"}},"qc_files":{"size":0,"actions":{"read":"http://localhost:3000/ilc-stock-plate-uuid/qc_files"}},"source_transfers":{"size":1,"actions":{"read":"http://localhost:3000/ilc-stock-plate-uuid/source_transfers"}},"transfers_to_tubes":{"size":0,"actions":{"read":"http://localhost:3000/ilc-stock-plate-uuid/transfers_to_tubes"}},"creation_transfers":{"size":0,"actions":{"read":"http://localhost:3000/ilc-stock-plate-uuid/creation_transfers"}},"plate_purpose":{"actions":{"read":"http://localhost:3000/ilc-stock-uuid"},"uuid":"ilc-stock-uuid","lifespan":null,"name":"ILC Stock"},"actions":{"read":"http://localhost:3000/ilc-stock-plate-uuid"},"uuid":"ilc-stock-plate-uuid","name":"Cherrypicked 459268","qc_state":null,"barcode":{"ean13":"1220459268663","number":"459268","prefix":"DN","two_dimensional":null,"type":1},"iteration":1,"label":{"prefix":"No PCR (Plate) PCR","text":"ILC Stock"},"location":"Library creation freezer","pools":{"pool-1-uuid":{"wells":["A1","A2","B1","B2","C1","C2","D1","D2","E1","E2","F1","F2","G1","G2","H1"],"insert_size":{"from":100,"to":300},"library_type":{"name":"RNA-seq dUTP eukaryotic"},"request_type":"Illumina-C Library Creation PCR"},"pool-2-uuid":{"wells":["A3","A4","B3","B4","C3","C4","D3","D4","E3","E4","F3","F4","G3","H2","H3"],"insert_size":{"from":100,"to":300},"library_type":{"name":"RNA-seq dUTP eukaryotic"},"request_type":"Illumina-C Library Creation PCR"}},"pre_cap_groups":{},"priority":0,"size":96,"state":"passed","stock_plate":{"barcode":{"ean13":"1220427444877","number":"427444","prefix":"DN","two_dimensional":null,"type":1},"pre_cap_groups":{},"priority":0,"size":96,"state":"passed","stock_plate":{"barcode":{"ean13":"1220459268663","number":"459268","prefix":"DN","two_dimensional":null,"type":1},"uuid":"ilc-stock-plate-uuid"}},"transfers":{"A1":"A1","B1":"B1","C1":"C1","D1":"D1"},"user":null}}
diff --git a/spec/contracts/final-plate-comments.txt b/spec/contracts/final-plate-comments.txt
new file mode 100644
index 0000000..5d69f95
--- /dev/null
+++ b/spec/contracts/final-plate-comments.txt
@@ -0,0 +1,12 @@
+HTTP/1.1 200 OK
+Content-Type: application/json
+
+{
+ "actions": {
+ "read": "http://localhost:3000/api/1/final-plate-uuid/comments/1",
+ "first": "http://localhost:3000/api/1/final-plate-uuid/comments/1",
+ "last": "http://localhost:3000/api/1/final-plate-uuid/comments/1"
+ },
+ "size": 0,
+ "comments": []
+}
\ No newline at end of file
diff --git a/spec/contracts/final-plate-qc-files.txt b/spec/contracts/final-plate-qc-files.txt
new file mode 100644
index 0000000..263701b
--- /dev/null
+++ b/spec/contracts/final-plate-qc-files.txt
@@ -0,0 +1,12 @@
+HTTP/1.1 200 OK
+Content-Type: application/json
+
+{
+ "actions": {
+ "read": "http://localhost:3000/api/1/final-plate-uuid/qc_files/1",
+ "first": "http://localhost:3000/api/1/final-plate-uuid/qc_files/1",
+ "last": "http://localhost:3000/api/1/final-plate-uuid/qc_files/1"
+ },
+ "size": 0,
+ "qc_files": []
+}
\ No newline at end of file
diff --git a/spec/contracts/final-plate-transfers-to-tubes-all-passed.txt b/spec/contracts/final-plate-transfers-to-tubes-all-passed.txt
new file mode 100644
index 0000000..461682b
--- /dev/null
+++ b/spec/contracts/final-plate-transfers-to-tubes-all-passed.txt
@@ -0,0 +1,2667 @@
+HTTP/1.1 200 OK
+Content-Type: application/json
+
+{
+ "actions": {
+ "read": "http://localhost:3000/final-plate-uuid/transfers_to_tubes/1",
+ "first": "http://localhost:3000/final-plate-uuid/transfers_to_tubes/1",
+ "last": "http://localhost:3000/final-plate-uuid/transfers_to_tubes/1"
+ },
+ "size": 1,
+ "transfers": [
+ {
+ "created_at": "2016-09-16 10:15:06 +0100",
+ "updated_at": "2016-09-16 10:15:06 +0100",
+ "actions": {
+ "read": "http://localhost:3000/transfer-uuid"
+ },
+ "uuid": "transfer-uuid",
+ "source": {
+ "created_at": "2016-09-16 10:14:03 +0100",
+ "updated_at": "2016-09-16 10:14:04 +0100",
+ "comments": {
+ "size": 0,
+ "actions": {
+ "read": "http://localhost:3000/final-plate-uuid/comments"
+ }
+ },
+ "wells": {
+ "size": 96,
+ "actions": {
+ "read": "http://localhost:3000/final-plate-uuid/wells"
+ }
+ },
+ "submission_pools": {
+ "size": 4,
+ "actions": {
+ "read": "http://localhost:3000/final-plate-uuid/submission_pools"
+ }
+ },
+ "requests": {
+ "size": 0,
+ "actions": {
+ "read": "http://localhost:3000/final-plate-uuid/requests"
+ }
+ },
+ "qc_files": {
+ "size": 0,
+ "actions": {
+ "read": "http://localhost:3000/final-plate-uuid/qc_files"
+ }
+ },
+ "source_transfers": {
+ "size": 1,
+ "actions": {
+ "read": "http://localhost:3000/final-plate-uuid/source_transfers"
+ }
+ },
+ "transfers_to_tubes": {
+ "size": 1,
+ "actions": {
+ "read": "http://localhost:3000/final-plate-uuid/transfers_to_tubes/1",
+ "first": "http://localhost:3000/final-plate-uuid/transfers_to_tubes/1",
+ "last": "http://localhost:3000/final-plate-uuid/transfers_to_tubes/1",
+ "previous": "http://localhost:3000/final-plate-uuid/transfers_to_tubes/1",
+ "next": "http://localhost:3000/final-plate-uuid/transfers_to_tubes/2"
+ }
+ },
+ "creation_transfers": {
+ "size": 1,
+ "actions": {
+ "read": "http://localhost:3000/final-plate-uuid/creation_transfers"
+ }
+ },
+ "plate_purpose": {
+ "actions": {
+ "read": "http://localhost:3000/ilc-al-libs-tagged-uuid"
+ },
+ "uuid": "ilc-al-libs-tagged-uuid",
+ "lifespan": null,
+ "name": "ILC AL Libs Tagged"
+ },
+ "actions": {
+ "read": "http://localhost:3000/final-plate-uuid"
+ },
+ "uuid": "final-plate-uuid",
+ "name": "Plate number",
+ "qc_state": null,
+ "barcode": {
+ "ean13": "0123456789012",
+ "number": "number",
+ "prefix": "DN",
+ "two_dimensional": null,
+ "type": 1
+ },
+ "iteration": 1,
+ "label": {
+ "prefix": "No PCR (Plate) ",
+ "text": "ILC AL Libs Tagged"
+ },
+ "location": "Library creation freezer",
+ "pools": {
+ "submission-1-uuid": {
+ "wells": [
+ "A4",
+ "A5",
+ "A6",
+ "B4",
+ "B5",
+ "B6",
+ "C4",
+ "C5",
+ "C6",
+ "D4",
+ "D5",
+ "D6",
+ "E4",
+ "E5",
+ "E6",
+ "F4",
+ "F5",
+ "F6",
+ "G4",
+ "G5",
+ "G6",
+ "H4",
+ "H5",
+ "H6"
+ ],
+ "insert_size": {
+ "from": 100,
+ "to": 150
+ },
+ "library_type": {
+ "name": "No PCR (Plate)"
+ },
+ "request_type": "Illumina-C Library Creation No PCR"
+ },
+ "submission-2-uuid": {
+ "wells": [
+ "A7",
+ "A8",
+ "A9",
+ "B7",
+ "B8",
+ "B9",
+ "C7",
+ "C8",
+ "C9",
+ "D7",
+ "D8",
+ "D9",
+ "E7",
+ "E8",
+ "E9",
+ "F7",
+ "F8",
+ "F9",
+ "G7",
+ "G8",
+ "G9",
+ "H7",
+ "H8",
+ "H9"
+ ],
+ "insert_size": {
+ "from": 100,
+ "to": 150
+ },
+ "library_type": {
+ "name": "No PCR (Plate)"
+ },
+ "request_type": "Illumina-C Library Creation No PCR"
+ },
+ "submission-3-uuid": {
+ "wells": [
+ "A10",
+ "A11",
+ "A12",
+ "B10",
+ "B11",
+ "B12",
+ "C10",
+ "C11",
+ "C12",
+ "D10",
+ "D11",
+ "D12",
+ "E10",
+ "E11",
+ "E12",
+ "F10",
+ "F11",
+ "F12",
+ "G10",
+ "G11",
+ "G12",
+ "H10",
+ "H11",
+ "H12"
+ ],
+ "insert_size": {
+ "from": 100,
+ "to": 150
+ },
+ "library_type": {
+ "name": "No PCR (Plate)"
+ },
+ "request_type": "Illumina-C Library Creation No PCR"
+ },
+ "submission-4-uuid": {
+ "wells": [
+ "A1",
+ "A2",
+ "A3",
+ "B1",
+ "B2",
+ "B3",
+ "C1",
+ "C2",
+ "C3",
+ "D1",
+ "D2",
+ "D3",
+ "E1",
+ "E2",
+ "E3",
+ "F1",
+ "F2",
+ "F3",
+ "G1",
+ "G2",
+ "G3",
+ "H1",
+ "H2",
+ "H3"
+ ],
+ "insert_size": {
+ "from": 100,
+ "to": 150
+ },
+ "library_type": {
+ "name": "No PCR (Plate)"
+ },
+ "request_type": "Illumina-C Library Creation No PCR"
+ }
+ },
+ "pre_cap_groups": {},
+ "priority": 0,
+ "size": 96,
+ "state": "qc_complete",
+ "stock_plate": {
+ "barcode": {
+ "ean13": "9876543210987",
+ "number": "12",
+ "prefix": "DN",
+ "two_dimensional": null,
+ "type": 1
+ },
+ "uuid": "stock-plate-uuid"
+ }
+ },
+ "transfers": {
+ "A1": {
+ "uuid": "multiplexed-library-tube-uuid",
+ "name": "DN12K A1:H3",
+ "state": "passed",
+ "label": {
+ "text": "ILC Lib Pool Norm",
+ "prefix": "No PCR (Plate) "
+ },
+ "barcode": {
+ "number": "63",
+ "prefix": "NT",
+ "two_dimensional": null,
+ "ean13": "tube-1-ean13",
+ "type": 2
+ },
+ "stock_plate": {
+ "barcode": {
+ "number": "12",
+ "prefix": "DN",
+ "two_dimensional": null,
+ "ean13": "9876543210987",
+ "type": 1
+ }
+ }
+ },
+ "A2": {
+ "uuid": "multiplexed-library-tube-uuid",
+ "name": "DN12K A1:H3",
+ "state": "passed",
+ "label": {
+ "text": "ILC Lib Pool Norm",
+ "prefix": "No PCR (Plate) "
+ },
+ "barcode": {
+ "number": "63",
+ "prefix": "NT",
+ "two_dimensional": null,
+ "ean13": "tube-1-ean13",
+ "type": 2
+ },
+ "stock_plate": {
+ "barcode": {
+ "number": "12",
+ "prefix": "DN",
+ "two_dimensional": null,
+ "ean13": "9876543210987",
+ "type": 1
+ }
+ }
+ },
+ "A3": {
+ "uuid": "multiplexed-library-tube-uuid",
+ "name": "DN12K A1:H3",
+ "state": "passed",
+ "label": {
+ "text": "ILC Lib Pool Norm",
+ "prefix": "No PCR (Plate) "
+ },
+ "barcode": {
+ "number": "63",
+ "prefix": "NT",
+ "two_dimensional": null,
+ "ean13": "tube-1-ean13",
+ "type": 2
+ },
+ "stock_plate": {
+ "barcode": {
+ "number": "12",
+ "prefix": "DN",
+ "two_dimensional": null,
+ "ean13": "9876543210987",
+ "type": 1
+ }
+ }
+ },
+ "A4": {
+ "uuid": "multiplexed-library-tube-2-uuid",
+ "name": "DN12K A4:H6",
+ "state": "passed",
+ "label": {
+ "text": "ILC Lib Pool Norm",
+ "prefix": "No PCR (Plate) "
+ },
+ "barcode": {
+ "number": "65",
+ "prefix": "NT",
+ "two_dimensional": null,
+ "ean13": "tube-2-ean13",
+ "type": 2
+ },
+ "stock_plate": {
+ "barcode": {
+ "number": "12",
+ "prefix": "DN",
+ "two_dimensional": null,
+ "ean13": "9876543210987",
+ "type": 1
+ }
+ }
+ },
+ "A5": {
+ "uuid": "multiplexed-library-tube-2-uuid",
+ "name": "DN12K A4:H6",
+ "state": "passed",
+ "label": {
+ "text": "ILC Lib Pool Norm",
+ "prefix": "No PCR (Plate) "
+ },
+ "barcode": {
+ "number": "65",
+ "prefix": "NT",
+ "two_dimensional": null,
+ "ean13": "tube-2-ean13",
+ "type": 2
+ },
+ "stock_plate": {
+ "barcode": {
+ "number": "12",
+ "prefix": "DN",
+ "two_dimensional": null,
+ "ean13": "9876543210987",
+ "type": 1
+ }
+ }
+ },
+ "A6": {
+ "uuid": "multiplexed-library-tube-2-uuid",
+ "name": "DN12K A4:H6",
+ "state": "passed",
+ "label": {
+ "text": "ILC Lib Pool Norm",
+ "prefix": "No PCR (Plate) "
+ },
+ "barcode": {
+ "number": "65",
+ "prefix": "NT",
+ "two_dimensional": null,
+ "ean13": "tube-2-ean13",
+ "type": 2
+ },
+ "stock_plate": {
+ "barcode": {
+ "number": "12",
+ "prefix": "DN",
+ "two_dimensional": null,
+ "ean13": "9876543210987",
+ "type": 1
+ }
+ }
+ },
+ "A7": {
+ "uuid": "multiplexed-library-tube-3-uuid",
+ "name": "DN12K A7:H9",
+ "state": "passed",
+ "label": {
+ "text": "ILC Lib Pool Norm",
+ "prefix": "No PCR (Plate) "
+ },
+ "barcode": {
+ "number": "67",
+ "prefix": "NT",
+ "two_dimensional": null,
+ "ean13": "tube-3-ean13",
+ "type": 2
+ },
+ "stock_plate": {
+ "barcode": {
+ "number": "12",
+ "prefix": "DN",
+ "two_dimensional": null,
+ "ean13": "9876543210987",
+ "type": 1
+ }
+ }
+ },
+ "A8": {
+ "uuid": "multiplexed-library-tube-3-uuid",
+ "name": "DN12K A7:H9",
+ "state": "passed",
+ "label": {
+ "text": "ILC Lib Pool Norm",
+ "prefix": "No PCR (Plate) "
+ },
+ "barcode": {
+ "number": "67",
+ "prefix": "NT",
+ "two_dimensional": null,
+ "ean13": "tube-3-ean13",
+ "type": 2
+ },
+ "stock_plate": {
+ "barcode": {
+ "number": "12",
+ "prefix": "DN",
+ "two_dimensional": null,
+ "ean13": "9876543210987",
+ "type": 1
+ }
+ }
+ },
+ "A9": {
+ "uuid": "multiplexed-library-tube-3-uuid",
+ "name": "DN12K A7:H9",
+ "state": "passed",
+ "label": {
+ "text": "ILC Lib Pool Norm",
+ "prefix": "No PCR (Plate) "
+ },
+ "barcode": {
+ "number": "67",
+ "prefix": "NT",
+ "two_dimensional": null,
+ "ean13": "tube-3-ean13",
+ "type": 2
+ },
+ "stock_plate": {
+ "barcode": {
+ "number": "12",
+ "prefix": "DN",
+ "two_dimensional": null,
+ "ean13": "9876543210987",
+ "type": 1
+ }
+ }
+ },
+ "A10": {
+ "uuid": "multiplexed-library-tube-4-uuid",
+ "name": "DN12K A10:H12",
+ "state": "passed",
+ "label": {
+ "text": "ILC Lib Pool Norm",
+ "prefix": "No PCR (Plate) "
+ },
+ "barcode": {
+ "number": "69",
+ "prefix": "NT",
+ "two_dimensional": null,
+ "ean13": "tube-4-ean13",
+ "type": 2
+ },
+ "stock_plate": {
+ "barcode": {
+ "number": "12",
+ "prefix": "DN",
+ "two_dimensional": null,
+ "ean13": "9876543210987",
+ "type": 1
+ }
+ }
+ },
+ "A11": {
+ "uuid": "multiplexed-library-tube-4-uuid",
+ "name": "DN12K A10:H12",
+ "state": "passed",
+ "label": {
+ "text": "ILC Lib Pool Norm",
+ "prefix": "No PCR (Plate) "
+ },
+ "barcode": {
+ "number": "69",
+ "prefix": "NT",
+ "two_dimensional": null,
+ "ean13": "tube-4-ean13",
+ "type": 2
+ },
+ "stock_plate": {
+ "barcode": {
+ "number": "12",
+ "prefix": "DN",
+ "two_dimensional": null,
+ "ean13": "9876543210987",
+ "type": 1
+ }
+ }
+ },
+ "A12": {
+ "uuid": "multiplexed-library-tube-4-uuid",
+ "name": "DN12K A10:H12",
+ "state": "passed",
+ "label": {
+ "text": "ILC Lib Pool Norm",
+ "prefix": "No PCR (Plate) "
+ },
+ "barcode": {
+ "number": "69",
+ "prefix": "NT",
+ "two_dimensional": null,
+ "ean13": "tube-4-ean13",
+ "type": 2
+ },
+ "stock_plate": {
+ "barcode": {
+ "number": "12",
+ "prefix": "DN",
+ "two_dimensional": null,
+ "ean13": "9876543210987",
+ "type": 1
+ }
+ }
+ },
+ "B1": {
+ "uuid": "multiplexed-library-tube-uuid",
+ "name": "DN12K A1:H3",
+ "state": "passed",
+ "label": {
+ "text": "ILC Lib Pool Norm",
+ "prefix": "No PCR (Plate) "
+ },
+ "barcode": {
+ "number": "63",
+ "prefix": "NT",
+ "two_dimensional": null,
+ "ean13": "tube-1-ean13",
+ "type": 2
+ },
+ "stock_plate": {
+ "barcode": {
+ "number": "12",
+ "prefix": "DN",
+ "two_dimensional": null,
+ "ean13": "9876543210987",
+ "type": 1
+ }
+ }
+ },
+ "B2": {
+ "uuid": "multiplexed-library-tube-uuid",
+ "name": "DN12K A1:H3",
+ "state": "passed",
+ "label": {
+ "text": "ILC Lib Pool Norm",
+ "prefix": "No PCR (Plate) "
+ },
+ "barcode": {
+ "number": "63",
+ "prefix": "NT",
+ "two_dimensional": null,
+ "ean13": "tube-1-ean13",
+ "type": 2
+ },
+ "stock_plate": {
+ "barcode": {
+ "number": "12",
+ "prefix": "DN",
+ "two_dimensional": null,
+ "ean13": "9876543210987",
+ "type": 1
+ }
+ }
+ },
+ "B3": {
+ "uuid": "multiplexed-library-tube-uuid",
+ "name": "DN12K A1:H3",
+ "state": "passed",
+ "label": {
+ "text": "ILC Lib Pool Norm",
+ "prefix": "No PCR (Plate) "
+ },
+ "barcode": {
+ "number": "63",
+ "prefix": "NT",
+ "two_dimensional": null,
+ "ean13": "tube-1-ean13",
+ "type": 2
+ },
+ "stock_plate": {
+ "barcode": {
+ "number": "12",
+ "prefix": "DN",
+ "two_dimensional": null,
+ "ean13": "9876543210987",
+ "type": 1
+ }
+ }
+ },
+ "B4": {
+ "uuid": "multiplexed-library-tube-2-uuid",
+ "name": "DN12K A4:H6",
+ "state": "passed",
+ "label": {
+ "text": "ILC Lib Pool Norm",
+ "prefix": "No PCR (Plate) "
+ },
+ "barcode": {
+ "number": "65",
+ "prefix": "NT",
+ "two_dimensional": null,
+ "ean13": "tube-2-ean13",
+ "type": 2
+ },
+ "stock_plate": {
+ "barcode": {
+ "number": "12",
+ "prefix": "DN",
+ "two_dimensional": null,
+ "ean13": "9876543210987",
+ "type": 1
+ }
+ }
+ },
+ "B5": {
+ "uuid": "multiplexed-library-tube-2-uuid",
+ "name": "DN12K A4:H6",
+ "state": "passed",
+ "label": {
+ "text": "ILC Lib Pool Norm",
+ "prefix": "No PCR (Plate) "
+ },
+ "barcode": {
+ "number": "65",
+ "prefix": "NT",
+ "two_dimensional": null,
+ "ean13": "tube-2-ean13",
+ "type": 2
+ },
+ "stock_plate": {
+ "barcode": {
+ "number": "12",
+ "prefix": "DN",
+ "two_dimensional": null,
+ "ean13": "9876543210987",
+ "type": 1
+ }
+ }
+ },
+ "B6": {
+ "uuid": "multiplexed-library-tube-2-uuid",
+ "name": "DN12K A4:H6",
+ "state": "passed",
+ "label": {
+ "text": "ILC Lib Pool Norm",
+ "prefix": "No PCR (Plate) "
+ },
+ "barcode": {
+ "number": "65",
+ "prefix": "NT",
+ "two_dimensional": null,
+ "ean13": "tube-2-ean13",
+ "type": 2
+ },
+ "stock_plate": {
+ "barcode": {
+ "number": "12",
+ "prefix": "DN",
+ "two_dimensional": null,
+ "ean13": "9876543210987",
+ "type": 1
+ }
+ }
+ },
+ "B7": {
+ "uuid": "multiplexed-library-tube-3-uuid",
+ "name": "DN12K A7:H9",
+ "state": "passed",
+ "label": {
+ "text": "ILC Lib Pool Norm",
+ "prefix": "No PCR (Plate) "
+ },
+ "barcode": {
+ "number": "67",
+ "prefix": "NT",
+ "two_dimensional": null,
+ "ean13": "tube-3-ean13",
+ "type": 2
+ },
+ "stock_plate": {
+ "barcode": {
+ "number": "12",
+ "prefix": "DN",
+ "two_dimensional": null,
+ "ean13": "9876543210987",
+ "type": 1
+ }
+ }
+ },
+ "B8": {
+ "uuid": "multiplexed-library-tube-3-uuid",
+ "name": "DN12K A7:H9",
+ "state": "passed",
+ "label": {
+ "text": "ILC Lib Pool Norm",
+ "prefix": "No PCR (Plate) "
+ },
+ "barcode": {
+ "number": "67",
+ "prefix": "NT",
+ "two_dimensional": null,
+ "ean13": "tube-3-ean13",
+ "type": 2
+ },
+ "stock_plate": {
+ "barcode": {
+ "number": "12",
+ "prefix": "DN",
+ "two_dimensional": null,
+ "ean13": "9876543210987",
+ "type": 1
+ }
+ }
+ },
+ "B9": {
+ "uuid": "multiplexed-library-tube-3-uuid",
+ "name": "DN12K A7:H9",
+ "state": "passed",
+ "label": {
+ "text": "ILC Lib Pool Norm",
+ "prefix": "No PCR (Plate) "
+ },
+ "barcode": {
+ "number": "67",
+ "prefix": "NT",
+ "two_dimensional": null,
+ "ean13": "tube-3-ean13",
+ "type": 2
+ },
+ "stock_plate": {
+ "barcode": {
+ "number": "12",
+ "prefix": "DN",
+ "two_dimensional": null,
+ "ean13": "9876543210987",
+ "type": 1
+ }
+ }
+ },
+ "B10": {
+ "uuid": "multiplexed-library-tube-4-uuid",
+ "name": "DN12K A10:H12",
+ "state": "passed",
+ "label": {
+ "text": "ILC Lib Pool Norm",
+ "prefix": "No PCR (Plate) "
+ },
+ "barcode": {
+ "number": "69",
+ "prefix": "NT",
+ "two_dimensional": null,
+ "ean13": "tube-4-ean13",
+ "type": 2
+ },
+ "stock_plate": {
+ "barcode": {
+ "number": "12",
+ "prefix": "DN",
+ "two_dimensional": null,
+ "ean13": "9876543210987",
+ "type": 1
+ }
+ }
+ },
+ "B11": {
+ "uuid": "multiplexed-library-tube-4-uuid",
+ "name": "DN12K A10:H12",
+ "state": "passed",
+ "label": {
+ "text": "ILC Lib Pool Norm",
+ "prefix": "No PCR (Plate) "
+ },
+ "barcode": {
+ "number": "69",
+ "prefix": "NT",
+ "two_dimensional": null,
+ "ean13": "tube-4-ean13",
+ "type": 2
+ },
+ "stock_plate": {
+ "barcode": {
+ "number": "12",
+ "prefix": "DN",
+ "two_dimensional": null,
+ "ean13": "9876543210987",
+ "type": 1
+ }
+ }
+ },
+ "B12": {
+ "uuid": "multiplexed-library-tube-4-uuid",
+ "name": "DN12K A10:H12",
+ "state": "passed",
+ "label": {
+ "text": "ILC Lib Pool Norm",
+ "prefix": "No PCR (Plate) "
+ },
+ "barcode": {
+ "number": "69",
+ "prefix": "NT",
+ "two_dimensional": null,
+ "ean13": "tube-4-ean13",
+ "type": 2
+ },
+ "stock_plate": {
+ "barcode": {
+ "number": "12",
+ "prefix": "DN",
+ "two_dimensional": null,
+ "ean13": "9876543210987",
+ "type": 1
+ }
+ }
+ },
+ "C1": {
+ "uuid": "multiplexed-library-tube-uuid",
+ "name": "DN12K A1:H3",
+ "state": "passed",
+ "label": {
+ "text": "ILC Lib Pool Norm",
+ "prefix": "No PCR (Plate) "
+ },
+ "barcode": {
+ "number": "63",
+ "prefix": "NT",
+ "two_dimensional": null,
+ "ean13": "tube-1-ean13",
+ "type": 2
+ },
+ "stock_plate": {
+ "barcode": {
+ "number": "12",
+ "prefix": "DN",
+ "two_dimensional": null,
+ "ean13": "9876543210987",
+ "type": 1
+ }
+ }
+ },
+ "C2": {
+ "uuid": "multiplexed-library-tube-uuid",
+ "name": "DN12K A1:H3",
+ "state": "passed",
+ "label": {
+ "text": "ILC Lib Pool Norm",
+ "prefix": "No PCR (Plate) "
+ },
+ "barcode": {
+ "number": "63",
+ "prefix": "NT",
+ "two_dimensional": null,
+ "ean13": "tube-1-ean13",
+ "type": 2
+ },
+ "stock_plate": {
+ "barcode": {
+ "number": "12",
+ "prefix": "DN",
+ "two_dimensional": null,
+ "ean13": "9876543210987",
+ "type": 1
+ }
+ }
+ },
+ "C3": {
+ "uuid": "multiplexed-library-tube-uuid",
+ "name": "DN12K A1:H3",
+ "state": "passed",
+ "label": {
+ "text": "ILC Lib Pool Norm",
+ "prefix": "No PCR (Plate) "
+ },
+ "barcode": {
+ "number": "63",
+ "prefix": "NT",
+ "two_dimensional": null,
+ "ean13": "tube-1-ean13",
+ "type": 2
+ },
+ "stock_plate": {
+ "barcode": {
+ "number": "12",
+ "prefix": "DN",
+ "two_dimensional": null,
+ "ean13": "9876543210987",
+ "type": 1
+ }
+ }
+ },
+ "C4": {
+ "uuid": "multiplexed-library-tube-2-uuid",
+ "name": "DN12K A4:H6",
+ "state": "passed",
+ "label": {
+ "text": "ILC Lib Pool Norm",
+ "prefix": "No PCR (Plate) "
+ },
+ "barcode": {
+ "number": "65",
+ "prefix": "NT",
+ "two_dimensional": null,
+ "ean13": "tube-2-ean13",
+ "type": 2
+ },
+ "stock_plate": {
+ "barcode": {
+ "number": "12",
+ "prefix": "DN",
+ "two_dimensional": null,
+ "ean13": "9876543210987",
+ "type": 1
+ }
+ }
+ },
+ "C5": {
+ "uuid": "multiplexed-library-tube-2-uuid",
+ "name": "DN12K A4:H6",
+ "state": "passed",
+ "label": {
+ "text": "ILC Lib Pool Norm",
+ "prefix": "No PCR (Plate) "
+ },
+ "barcode": {
+ "number": "65",
+ "prefix": "NT",
+ "two_dimensional": null,
+ "ean13": "tube-2-ean13",
+ "type": 2
+ },
+ "stock_plate": {
+ "barcode": {
+ "number": "12",
+ "prefix": "DN",
+ "two_dimensional": null,
+ "ean13": "9876543210987",
+ "type": 1
+ }
+ }
+ },
+ "C6": {
+ "uuid": "multiplexed-library-tube-2-uuid",
+ "name": "DN12K A4:H6",
+ "state": "passed",
+ "label": {
+ "text": "ILC Lib Pool Norm",
+ "prefix": "No PCR (Plate) "
+ },
+ "barcode": {
+ "number": "65",
+ "prefix": "NT",
+ "two_dimensional": null,
+ "ean13": "tube-2-ean13",
+ "type": 2
+ },
+ "stock_plate": {
+ "barcode": {
+ "number": "12",
+ "prefix": "DN",
+ "two_dimensional": null,
+ "ean13": "9876543210987",
+ "type": 1
+ }
+ }
+ },
+ "C7": {
+ "uuid": "multiplexed-library-tube-3-uuid",
+ "name": "DN12K A7:H9",
+ "state": "passed",
+ "label": {
+ "text": "ILC Lib Pool Norm",
+ "prefix": "No PCR (Plate) "
+ },
+ "barcode": {
+ "number": "67",
+ "prefix": "NT",
+ "two_dimensional": null,
+ "ean13": "tube-3-ean13",
+ "type": 2
+ },
+ "stock_plate": {
+ "barcode": {
+ "number": "12",
+ "prefix": "DN",
+ "two_dimensional": null,
+ "ean13": "9876543210987",
+ "type": 1
+ }
+ }
+ },
+ "C8": {
+ "uuid": "multiplexed-library-tube-3-uuid",
+ "name": "DN12K A7:H9",
+ "state": "passed",
+ "label": {
+ "text": "ILC Lib Pool Norm",
+ "prefix": "No PCR (Plate) "
+ },
+ "barcode": {
+ "number": "67",
+ "prefix": "NT",
+ "two_dimensional": null,
+ "ean13": "tube-3-ean13",
+ "type": 2
+ },
+ "stock_plate": {
+ "barcode": {
+ "number": "12",
+ "prefix": "DN",
+ "two_dimensional": null,
+ "ean13": "9876543210987",
+ "type": 1
+ }
+ }
+ },
+ "C9": {
+ "uuid": "multiplexed-library-tube-3-uuid",
+ "name": "DN12K A7:H9",
+ "state": "passed",
+ "label": {
+ "text": "ILC Lib Pool Norm",
+ "prefix": "No PCR (Plate) "
+ },
+ "barcode": {
+ "number": "67",
+ "prefix": "NT",
+ "two_dimensional": null,
+ "ean13": "tube-3-ean13",
+ "type": 2
+ },
+ "stock_plate": {
+ "barcode": {
+ "number": "12",
+ "prefix": "DN",
+ "two_dimensional": null,
+ "ean13": "9876543210987",
+ "type": 1
+ }
+ }
+ },
+ "C10": {
+ "uuid": "multiplexed-library-tube-4-uuid",
+ "name": "DN12K A10:H12",
+ "state": "passed",
+ "label": {
+ "text": "ILC Lib Pool Norm",
+ "prefix": "No PCR (Plate) "
+ },
+ "barcode": {
+ "number": "69",
+ "prefix": "NT",
+ "two_dimensional": null,
+ "ean13": "tube-4-ean13",
+ "type": 2
+ },
+ "stock_plate": {
+ "barcode": {
+ "number": "12",
+ "prefix": "DN",
+ "two_dimensional": null,
+ "ean13": "9876543210987",
+ "type": 1
+ }
+ }
+ },
+ "C11": {
+ "uuid": "multiplexed-library-tube-4-uuid",
+ "name": "DN12K A10:H12",
+ "state": "passed",
+ "label": {
+ "text": "ILC Lib Pool Norm",
+ "prefix": "No PCR (Plate) "
+ },
+ "barcode": {
+ "number": "69",
+ "prefix": "NT",
+ "two_dimensional": null,
+ "ean13": "tube-4-ean13",
+ "type": 2
+ },
+ "stock_plate": {
+ "barcode": {
+ "number": "12",
+ "prefix": "DN",
+ "two_dimensional": null,
+ "ean13": "9876543210987",
+ "type": 1
+ }
+ }
+ },
+ "C12": {
+ "uuid": "multiplexed-library-tube-4-uuid",
+ "name": "DN12K A10:H12",
+ "state": "passed",
+ "label": {
+ "text": "ILC Lib Pool Norm",
+ "prefix": "No PCR (Plate) "
+ },
+ "barcode": {
+ "number": "69",
+ "prefix": "NT",
+ "two_dimensional": null,
+ "ean13": "tube-4-ean13",
+ "type": 2
+ },
+ "stock_plate": {
+ "barcode": {
+ "number": "12",
+ "prefix": "DN",
+ "two_dimensional": null,
+ "ean13": "9876543210987",
+ "type": 1
+ }
+ }
+ },
+ "D1": {
+ "uuid": "multiplexed-library-tube-uuid",
+ "name": "DN12K A1:H3",
+ "state": "passed",
+ "label": {
+ "text": "ILC Lib Pool Norm",
+ "prefix": "No PCR (Plate) "
+ },
+ "barcode": {
+ "number": "63",
+ "prefix": "NT",
+ "two_dimensional": null,
+ "ean13": "tube-1-ean13",
+ "type": 2
+ },
+ "stock_plate": {
+ "barcode": {
+ "number": "12",
+ "prefix": "DN",
+ "two_dimensional": null,
+ "ean13": "9876543210987",
+ "type": 1
+ }
+ }
+ },
+ "D2": {
+ "uuid": "multiplexed-library-tube-uuid",
+ "name": "DN12K A1:H3",
+ "state": "passed",
+ "label": {
+ "text": "ILC Lib Pool Norm",
+ "prefix": "No PCR (Plate) "
+ },
+ "barcode": {
+ "number": "63",
+ "prefix": "NT",
+ "two_dimensional": null,
+ "ean13": "tube-1-ean13",
+ "type": 2
+ },
+ "stock_plate": {
+ "barcode": {
+ "number": "12",
+ "prefix": "DN",
+ "two_dimensional": null,
+ "ean13": "9876543210987",
+ "type": 1
+ }
+ }
+ },
+ "D3": {
+ "uuid": "multiplexed-library-tube-uuid",
+ "name": "DN12K A1:H3",
+ "state": "passed",
+ "label": {
+ "text": "ILC Lib Pool Norm",
+ "prefix": "No PCR (Plate) "
+ },
+ "barcode": {
+ "number": "63",
+ "prefix": "NT",
+ "two_dimensional": null,
+ "ean13": "tube-1-ean13",
+ "type": 2
+ },
+ "stock_plate": {
+ "barcode": {
+ "number": "12",
+ "prefix": "DN",
+ "two_dimensional": null,
+ "ean13": "9876543210987",
+ "type": 1
+ }
+ }
+ },
+ "D4": {
+ "uuid": "multiplexed-library-tube-2-uuid",
+ "name": "DN12K A4:H6",
+ "state": "passed",
+ "label": {
+ "text": "ILC Lib Pool Norm",
+ "prefix": "No PCR (Plate) "
+ },
+ "barcode": {
+ "number": "65",
+ "prefix": "NT",
+ "two_dimensional": null,
+ "ean13": "tube-2-ean13",
+ "type": 2
+ },
+ "stock_plate": {
+ "barcode": {
+ "number": "12",
+ "prefix": "DN",
+ "two_dimensional": null,
+ "ean13": "9876543210987",
+ "type": 1
+ }
+ }
+ },
+ "D5": {
+ "uuid": "multiplexed-library-tube-2-uuid",
+ "name": "DN12K A4:H6",
+ "state": "passed",
+ "label": {
+ "text": "ILC Lib Pool Norm",
+ "prefix": "No PCR (Plate) "
+ },
+ "barcode": {
+ "number": "65",
+ "prefix": "NT",
+ "two_dimensional": null,
+ "ean13": "tube-2-ean13",
+ "type": 2
+ },
+ "stock_plate": {
+ "barcode": {
+ "number": "12",
+ "prefix": "DN",
+ "two_dimensional": null,
+ "ean13": "9876543210987",
+ "type": 1
+ }
+ }
+ },
+ "D6": {
+ "uuid": "multiplexed-library-tube-2-uuid",
+ "name": "DN12K A4:H6",
+ "state": "passed",
+ "label": {
+ "text": "ILC Lib Pool Norm",
+ "prefix": "No PCR (Plate) "
+ },
+ "barcode": {
+ "number": "65",
+ "prefix": "NT",
+ "two_dimensional": null,
+ "ean13": "tube-2-ean13",
+ "type": 2
+ },
+ "stock_plate": {
+ "barcode": {
+ "number": "12",
+ "prefix": "DN",
+ "two_dimensional": null,
+ "ean13": "9876543210987",
+ "type": 1
+ }
+ }
+ },
+ "D7": {
+ "uuid": "multiplexed-library-tube-3-uuid",
+ "name": "DN12K A7:H9",
+ "state": "passed",
+ "label": {
+ "text": "ILC Lib Pool Norm",
+ "prefix": "No PCR (Plate) "
+ },
+ "barcode": {
+ "number": "67",
+ "prefix": "NT",
+ "two_dimensional": null,
+ "ean13": "tube-3-ean13",
+ "type": 2
+ },
+ "stock_plate": {
+ "barcode": {
+ "number": "12",
+ "prefix": "DN",
+ "two_dimensional": null,
+ "ean13": "9876543210987",
+ "type": 1
+ }
+ }
+ },
+ "D8": {
+ "uuid": "multiplexed-library-tube-3-uuid",
+ "name": "DN12K A7:H9",
+ "state": "passed",
+ "label": {
+ "text": "ILC Lib Pool Norm",
+ "prefix": "No PCR (Plate) "
+ },
+ "barcode": {
+ "number": "67",
+ "prefix": "NT",
+ "two_dimensional": null,
+ "ean13": "tube-3-ean13",
+ "type": 2
+ },
+ "stock_plate": {
+ "barcode": {
+ "number": "12",
+ "prefix": "DN",
+ "two_dimensional": null,
+ "ean13": "9876543210987",
+ "type": 1
+ }
+ }
+ },
+ "D9": {
+ "uuid": "multiplexed-library-tube-3-uuid",
+ "name": "DN12K A7:H9",
+ "state": "passed",
+ "label": {
+ "text": "ILC Lib Pool Norm",
+ "prefix": "No PCR (Plate) "
+ },
+ "barcode": {
+ "number": "67",
+ "prefix": "NT",
+ "two_dimensional": null,
+ "ean13": "tube-3-ean13",
+ "type": 2
+ },
+ "stock_plate": {
+ "barcode": {
+ "number": "12",
+ "prefix": "DN",
+ "two_dimensional": null,
+ "ean13": "9876543210987",
+ "type": 1
+ }
+ }
+ },
+ "D10": {
+ "uuid": "multiplexed-library-tube-4-uuid",
+ "name": "DN12K A10:H12",
+ "state": "passed",
+ "label": {
+ "text": "ILC Lib Pool Norm",
+ "prefix": "No PCR (Plate) "
+ },
+ "barcode": {
+ "number": "69",
+ "prefix": "NT",
+ "two_dimensional": null,
+ "ean13": "tube-4-ean13",
+ "type": 2
+ },
+ "stock_plate": {
+ "barcode": {
+ "number": "12",
+ "prefix": "DN",
+ "two_dimensional": null,
+ "ean13": "9876543210987",
+ "type": 1
+ }
+ }
+ },
+ "D11": {
+ "uuid": "multiplexed-library-tube-4-uuid",
+ "name": "DN12K A10:H12",
+ "state": "passed",
+ "label": {
+ "text": "ILC Lib Pool Norm",
+ "prefix": "No PCR (Plate) "
+ },
+ "barcode": {
+ "number": "69",
+ "prefix": "NT",
+ "two_dimensional": null,
+ "ean13": "tube-4-ean13",
+ "type": 2
+ },
+ "stock_plate": {
+ "barcode": {
+ "number": "12",
+ "prefix": "DN",
+ "two_dimensional": null,
+ "ean13": "9876543210987",
+ "type": 1
+ }
+ }
+ },
+ "D12": {
+ "uuid": "multiplexed-library-tube-4-uuid",
+ "name": "DN12K A10:H12",
+ "state": "passed",
+ "label": {
+ "text": "ILC Lib Pool Norm",
+ "prefix": "No PCR (Plate) "
+ },
+ "barcode": {
+ "number": "69",
+ "prefix": "NT",
+ "two_dimensional": null,
+ "ean13": "tube-4-ean13",
+ "type": 2
+ },
+ "stock_plate": {
+ "barcode": {
+ "number": "12",
+ "prefix": "DN",
+ "two_dimensional": null,
+ "ean13": "9876543210987",
+ "type": 1
+ }
+ }
+ },
+ "E1": {
+ "uuid": "multiplexed-library-tube-uuid",
+ "name": "DN12K A1:H3",
+ "state": "passed",
+ "label": {
+ "text": "ILC Lib Pool Norm",
+ "prefix": "No PCR (Plate) "
+ },
+ "barcode": {
+ "number": "63",
+ "prefix": "NT",
+ "two_dimensional": null,
+ "ean13": "tube-1-ean13",
+ "type": 2
+ },
+ "stock_plate": {
+ "barcode": {
+ "number": "12",
+ "prefix": "DN",
+ "two_dimensional": null,
+ "ean13": "9876543210987",
+ "type": 1
+ }
+ }
+ },
+ "E2": {
+ "uuid": "multiplexed-library-tube-uuid",
+ "name": "DN12K A1:H3",
+ "state": "passed",
+ "label": {
+ "text": "ILC Lib Pool Norm",
+ "prefix": "No PCR (Plate) "
+ },
+ "barcode": {
+ "number": "63",
+ "prefix": "NT",
+ "two_dimensional": null,
+ "ean13": "tube-1-ean13",
+ "type": 2
+ },
+ "stock_plate": {
+ "barcode": {
+ "number": "12",
+ "prefix": "DN",
+ "two_dimensional": null,
+ "ean13": "9876543210987",
+ "type": 1
+ }
+ }
+ },
+ "E3": {
+ "uuid": "multiplexed-library-tube-uuid",
+ "name": "DN12K A1:H3",
+ "state": "passed",
+ "label": {
+ "text": "ILC Lib Pool Norm",
+ "prefix": "No PCR (Plate) "
+ },
+ "barcode": {
+ "number": "63",
+ "prefix": "NT",
+ "two_dimensional": null,
+ "ean13": "tube-1-ean13",
+ "type": 2
+ },
+ "stock_plate": {
+ "barcode": {
+ "number": "12",
+ "prefix": "DN",
+ "two_dimensional": null,
+ "ean13": "9876543210987",
+ "type": 1
+ }
+ }
+ },
+ "E4": {
+ "uuid": "multiplexed-library-tube-2-uuid",
+ "name": "DN12K A4:H6",
+ "state": "passed",
+ "label": {
+ "text": "ILC Lib Pool Norm",
+ "prefix": "No PCR (Plate) "
+ },
+ "barcode": {
+ "number": "65",
+ "prefix": "NT",
+ "two_dimensional": null,
+ "ean13": "tube-2-ean13",
+ "type": 2
+ },
+ "stock_plate": {
+ "barcode": {
+ "number": "12",
+ "prefix": "DN",
+ "two_dimensional": null,
+ "ean13": "9876543210987",
+ "type": 1
+ }
+ }
+ },
+ "E5": {
+ "uuid": "multiplexed-library-tube-2-uuid",
+ "name": "DN12K A4:H6",
+ "state": "passed",
+ "label": {
+ "text": "ILC Lib Pool Norm",
+ "prefix": "No PCR (Plate) "
+ },
+ "barcode": {
+ "number": "65",
+ "prefix": "NT",
+ "two_dimensional": null,
+ "ean13": "tube-2-ean13",
+ "type": 2
+ },
+ "stock_plate": {
+ "barcode": {
+ "number": "12",
+ "prefix": "DN",
+ "two_dimensional": null,
+ "ean13": "9876543210987",
+ "type": 1
+ }
+ }
+ },
+ "E6": {
+ "uuid": "multiplexed-library-tube-2-uuid",
+ "name": "DN12K A4:H6",
+ "state": "passed",
+ "label": {
+ "text": "ILC Lib Pool Norm",
+ "prefix": "No PCR (Plate) "
+ },
+ "barcode": {
+ "number": "65",
+ "prefix": "NT",
+ "two_dimensional": null,
+ "ean13": "tube-2-ean13",
+ "type": 2
+ },
+ "stock_plate": {
+ "barcode": {
+ "number": "12",
+ "prefix": "DN",
+ "two_dimensional": null,
+ "ean13": "9876543210987",
+ "type": 1
+ }
+ }
+ },
+ "E7": {
+ "uuid": "multiplexed-library-tube-3-uuid",
+ "name": "DN12K A7:H9",
+ "state": "passed",
+ "label": {
+ "text": "ILC Lib Pool Norm",
+ "prefix": "No PCR (Plate) "
+ },
+ "barcode": {
+ "number": "67",
+ "prefix": "NT",
+ "two_dimensional": null,
+ "ean13": "tube-3-ean13",
+ "type": 2
+ },
+ "stock_plate": {
+ "barcode": {
+ "number": "12",
+ "prefix": "DN",
+ "two_dimensional": null,
+ "ean13": "9876543210987",
+ "type": 1
+ }
+ }
+ },
+ "E8": {
+ "uuid": "multiplexed-library-tube-3-uuid",
+ "name": "DN12K A7:H9",
+ "state": "passed",
+ "label": {
+ "text": "ILC Lib Pool Norm",
+ "prefix": "No PCR (Plate) "
+ },
+ "barcode": {
+ "number": "67",
+ "prefix": "NT",
+ "two_dimensional": null,
+ "ean13": "tube-3-ean13",
+ "type": 2
+ },
+ "stock_plate": {
+ "barcode": {
+ "number": "12",
+ "prefix": "DN",
+ "two_dimensional": null,
+ "ean13": "9876543210987",
+ "type": 1
+ }
+ }
+ },
+ "E9": {
+ "uuid": "multiplexed-library-tube-3-uuid",
+ "name": "DN12K A7:H9",
+ "state": "passed",
+ "label": {
+ "text": "ILC Lib Pool Norm",
+ "prefix": "No PCR (Plate) "
+ },
+ "barcode": {
+ "number": "67",
+ "prefix": "NT",
+ "two_dimensional": null,
+ "ean13": "tube-3-ean13",
+ "type": 2
+ },
+ "stock_plate": {
+ "barcode": {
+ "number": "12",
+ "prefix": "DN",
+ "two_dimensional": null,
+ "ean13": "9876543210987",
+ "type": 1
+ }
+ }
+ },
+ "E10": {
+ "uuid": "multiplexed-library-tube-4-uuid",
+ "name": "DN12K A10:H12",
+ "state": "passed",
+ "label": {
+ "text": "ILC Lib Pool Norm",
+ "prefix": "No PCR (Plate) "
+ },
+ "barcode": {
+ "number": "69",
+ "prefix": "NT",
+ "two_dimensional": null,
+ "ean13": "tube-4-ean13",
+ "type": 2
+ },
+ "stock_plate": {
+ "barcode": {
+ "number": "12",
+ "prefix": "DN",
+ "two_dimensional": null,
+ "ean13": "9876543210987",
+ "type": 1
+ }
+ }
+ },
+ "E11": {
+ "uuid": "multiplexed-library-tube-4-uuid",
+ "name": "DN12K A10:H12",
+ "state": "passed",
+ "label": {
+ "text": "ILC Lib Pool Norm",
+ "prefix": "No PCR (Plate) "
+ },
+ "barcode": {
+ "number": "69",
+ "prefix": "NT",
+ "two_dimensional": null,
+ "ean13": "tube-4-ean13",
+ "type": 2
+ },
+ "stock_plate": {
+ "barcode": {
+ "number": "12",
+ "prefix": "DN",
+ "two_dimensional": null,
+ "ean13": "9876543210987",
+ "type": 1
+ }
+ }
+ },
+ "E12": {
+ "uuid": "multiplexed-library-tube-4-uuid",
+ "name": "DN12K A10:H12",
+ "state": "passed",
+ "label": {
+ "text": "ILC Lib Pool Norm",
+ "prefix": "No PCR (Plate) "
+ },
+ "barcode": {
+ "number": "69",
+ "prefix": "NT",
+ "two_dimensional": null,
+ "ean13": "tube-4-ean13",
+ "type": 2
+ },
+ "stock_plate": {
+ "barcode": {
+ "number": "12",
+ "prefix": "DN",
+ "two_dimensional": null,
+ "ean13": "9876543210987",
+ "type": 1
+ }
+ }
+ },
+ "F1": {
+ "uuid": "multiplexed-library-tube-uuid",
+ "name": "DN12K A1:H3",
+ "state": "passed",
+ "label": {
+ "text": "ILC Lib Pool Norm",
+ "prefix": "No PCR (Plate) "
+ },
+ "barcode": {
+ "number": "63",
+ "prefix": "NT",
+ "two_dimensional": null,
+ "ean13": "tube-1-ean13",
+ "type": 2
+ },
+ "stock_plate": {
+ "barcode": {
+ "number": "12",
+ "prefix": "DN",
+ "two_dimensional": null,
+ "ean13": "9876543210987",
+ "type": 1
+ }
+ }
+ },
+ "F2": {
+ "uuid": "multiplexed-library-tube-uuid",
+ "name": "DN12K A1:H3",
+ "state": "passed",
+ "label": {
+ "text": "ILC Lib Pool Norm",
+ "prefix": "No PCR (Plate) "
+ },
+ "barcode": {
+ "number": "63",
+ "prefix": "NT",
+ "two_dimensional": null,
+ "ean13": "tube-1-ean13",
+ "type": 2
+ },
+ "stock_plate": {
+ "barcode": {
+ "number": "12",
+ "prefix": "DN",
+ "two_dimensional": null,
+ "ean13": "9876543210987",
+ "type": 1
+ }
+ }
+ },
+ "F3": {
+ "uuid": "multiplexed-library-tube-uuid",
+ "name": "DN12K A1:H3",
+ "state": "passed",
+ "label": {
+ "text": "ILC Lib Pool Norm",
+ "prefix": "No PCR (Plate) "
+ },
+ "barcode": {
+ "number": "63",
+ "prefix": "NT",
+ "two_dimensional": null,
+ "ean13": "tube-1-ean13",
+ "type": 2
+ },
+ "stock_plate": {
+ "barcode": {
+ "number": "12",
+ "prefix": "DN",
+ "two_dimensional": null,
+ "ean13": "9876543210987",
+ "type": 1
+ }
+ }
+ },
+ "F4": {
+ "uuid": "multiplexed-library-tube-2-uuid",
+ "name": "DN12K A4:H6",
+ "state": "passed",
+ "label": {
+ "text": "ILC Lib Pool Norm",
+ "prefix": "No PCR (Plate) "
+ },
+ "barcode": {
+ "number": "65",
+ "prefix": "NT",
+ "two_dimensional": null,
+ "ean13": "tube-2-ean13",
+ "type": 2
+ },
+ "stock_plate": {
+ "barcode": {
+ "number": "12",
+ "prefix": "DN",
+ "two_dimensional": null,
+ "ean13": "9876543210987",
+ "type": 1
+ }
+ }
+ },
+ "F5": {
+ "uuid": "multiplexed-library-tube-2-uuid",
+ "name": "DN12K A4:H6",
+ "state": "passed",
+ "label": {
+ "text": "ILC Lib Pool Norm",
+ "prefix": "No PCR (Plate) "
+ },
+ "barcode": {
+ "number": "65",
+ "prefix": "NT",
+ "two_dimensional": null,
+ "ean13": "tube-2-ean13",
+ "type": 2
+ },
+ "stock_plate": {
+ "barcode": {
+ "number": "12",
+ "prefix": "DN",
+ "two_dimensional": null,
+ "ean13": "9876543210987",
+ "type": 1
+ }
+ }
+ },
+ "F6": {
+ "uuid": "multiplexed-library-tube-2-uuid",
+ "name": "DN12K A4:H6",
+ "state": "passed",
+ "label": {
+ "text": "ILC Lib Pool Norm",
+ "prefix": "No PCR (Plate) "
+ },
+ "barcode": {
+ "number": "65",
+ "prefix": "NT",
+ "two_dimensional": null,
+ "ean13": "tube-2-ean13",
+ "type": 2
+ },
+ "stock_plate": {
+ "barcode": {
+ "number": "12",
+ "prefix": "DN",
+ "two_dimensional": null,
+ "ean13": "9876543210987",
+ "type": 1
+ }
+ }
+ },
+ "F7": {
+ "uuid": "multiplexed-library-tube-3-uuid",
+ "name": "DN12K A7:H9",
+ "state": "passed",
+ "label": {
+ "text": "ILC Lib Pool Norm",
+ "prefix": "No PCR (Plate) "
+ },
+ "barcode": {
+ "number": "67",
+ "prefix": "NT",
+ "two_dimensional": null,
+ "ean13": "tube-3-ean13",
+ "type": 2
+ },
+ "stock_plate": {
+ "barcode": {
+ "number": "12",
+ "prefix": "DN",
+ "two_dimensional": null,
+ "ean13": "9876543210987",
+ "type": 1
+ }
+ }
+ },
+ "F8": {
+ "uuid": "multiplexed-library-tube-3-uuid",
+ "name": "DN12K A7:H9",
+ "state": "passed",
+ "label": {
+ "text": "ILC Lib Pool Norm",
+ "prefix": "No PCR (Plate) "
+ },
+ "barcode": {
+ "number": "67",
+ "prefix": "NT",
+ "two_dimensional": null,
+ "ean13": "tube-3-ean13",
+ "type": 2
+ },
+ "stock_plate": {
+ "barcode": {
+ "number": "12",
+ "prefix": "DN",
+ "two_dimensional": null,
+ "ean13": "9876543210987",
+ "type": 1
+ }
+ }
+ },
+ "F9": {
+ "uuid": "multiplexed-library-tube-3-uuid",
+ "name": "DN12K A7:H9",
+ "state": "passed",
+ "label": {
+ "text": "ILC Lib Pool Norm",
+ "prefix": "No PCR (Plate) "
+ },
+ "barcode": {
+ "number": "67",
+ "prefix": "NT",
+ "two_dimensional": null,
+ "ean13": "tube-3-ean13",
+ "type": 2
+ },
+ "stock_plate": {
+ "barcode": {
+ "number": "12",
+ "prefix": "DN",
+ "two_dimensional": null,
+ "ean13": "9876543210987",
+ "type": 1
+ }
+ }
+ },
+ "F10": {
+ "uuid": "multiplexed-library-tube-4-uuid",
+ "name": "DN12K A10:H12",
+ "state": "passed",
+ "label": {
+ "text": "ILC Lib Pool Norm",
+ "prefix": "No PCR (Plate) "
+ },
+ "barcode": {
+ "number": "69",
+ "prefix": "NT",
+ "two_dimensional": null,
+ "ean13": "tube-4-ean13",
+ "type": 2
+ },
+ "stock_plate": {
+ "barcode": {
+ "number": "12",
+ "prefix": "DN",
+ "two_dimensional": null,
+ "ean13": "9876543210987",
+ "type": 1
+ }
+ }
+ },
+ "F11": {
+ "uuid": "multiplexed-library-tube-4-uuid",
+ "name": "DN12K A10:H12",
+ "state": "passed",
+ "label": {
+ "text": "ILC Lib Pool Norm",
+ "prefix": "No PCR (Plate) "
+ },
+ "barcode": {
+ "number": "69",
+ "prefix": "NT",
+ "two_dimensional": null,
+ "ean13": "tube-4-ean13",
+ "type": 2
+ },
+ "stock_plate": {
+ "barcode": {
+ "number": "12",
+ "prefix": "DN",
+ "two_dimensional": null,
+ "ean13": "9876543210987",
+ "type": 1
+ }
+ }
+ },
+ "F12": {
+ "uuid": "multiplexed-library-tube-4-uuid",
+ "name": "DN12K A10:H12",
+ "state": "passed",
+ "label": {
+ "text": "ILC Lib Pool Norm",
+ "prefix": "No PCR (Plate) "
+ },
+ "barcode": {
+ "number": "69",
+ "prefix": "NT",
+ "two_dimensional": null,
+ "ean13": "tube-4-ean13",
+ "type": 2
+ },
+ "stock_plate": {
+ "barcode": {
+ "number": "12",
+ "prefix": "DN",
+ "two_dimensional": null,
+ "ean13": "9876543210987",
+ "type": 1
+ }
+ }
+ },
+ "G1": {
+ "uuid": "multiplexed-library-tube-uuid",
+ "name": "DN12K A1:H3",
+ "state": "passed",
+ "label": {
+ "text": "ILC Lib Pool Norm",
+ "prefix": "No PCR (Plate) "
+ },
+ "barcode": {
+ "number": "63",
+ "prefix": "NT",
+ "two_dimensional": null,
+ "ean13": "tube-1-ean13",
+ "type": 2
+ },
+ "stock_plate": {
+ "barcode": {
+ "number": "12",
+ "prefix": "DN",
+ "two_dimensional": null,
+ "ean13": "9876543210987",
+ "type": 1
+ }
+ }
+ },
+ "G2": {
+ "uuid": "multiplexed-library-tube-uuid",
+ "name": "DN12K A1:H3",
+ "state": "passed",
+ "label": {
+ "text": "ILC Lib Pool Norm",
+ "prefix": "No PCR (Plate) "
+ },
+ "barcode": {
+ "number": "63",
+ "prefix": "NT",
+ "two_dimensional": null,
+ "ean13": "tube-1-ean13",
+ "type": 2
+ },
+ "stock_plate": {
+ "barcode": {
+ "number": "12",
+ "prefix": "DN",
+ "two_dimensional": null,
+ "ean13": "9876543210987",
+ "type": 1
+ }
+ }
+ },
+ "G3": {
+ "uuid": "multiplexed-library-tube-uuid",
+ "name": "DN12K A1:H3",
+ "state": "passed",
+ "label": {
+ "text": "ILC Lib Pool Norm",
+ "prefix": "No PCR (Plate) "
+ },
+ "barcode": {
+ "number": "63",
+ "prefix": "NT",
+ "two_dimensional": null,
+ "ean13": "tube-1-ean13",
+ "type": 2
+ },
+ "stock_plate": {
+ "barcode": {
+ "number": "12",
+ "prefix": "DN",
+ "two_dimensional": null,
+ "ean13": "9876543210987",
+ "type": 1
+ }
+ }
+ },
+ "G4": {
+ "uuid": "multiplexed-library-tube-2-uuid",
+ "name": "DN12K A4:H6",
+ "state": "passed",
+ "label": {
+ "text": "ILC Lib Pool Norm",
+ "prefix": "No PCR (Plate) "
+ },
+ "barcode": {
+ "number": "65",
+ "prefix": "NT",
+ "two_dimensional": null,
+ "ean13": "tube-2-ean13",
+ "type": 2
+ },
+ "stock_plate": {
+ "barcode": {
+ "number": "12",
+ "prefix": "DN",
+ "two_dimensional": null,
+ "ean13": "9876543210987",
+ "type": 1
+ }
+ }
+ },
+ "G5": {
+ "uuid": "multiplexed-library-tube-2-uuid",
+ "name": "DN12K A4:H6",
+ "state": "passed",
+ "label": {
+ "text": "ILC Lib Pool Norm",
+ "prefix": "No PCR (Plate) "
+ },
+ "barcode": {
+ "number": "65",
+ "prefix": "NT",
+ "two_dimensional": null,
+ "ean13": "tube-2-ean13",
+ "type": 2
+ },
+ "stock_plate": {
+ "barcode": {
+ "number": "12",
+ "prefix": "DN",
+ "two_dimensional": null,
+ "ean13": "9876543210987",
+ "type": 1
+ }
+ }
+ },
+ "G6": {
+ "uuid": "multiplexed-library-tube-2-uuid",
+ "name": "DN12K A4:H6",
+ "state": "passed",
+ "label": {
+ "text": "ILC Lib Pool Norm",
+ "prefix": "No PCR (Plate) "
+ },
+ "barcode": {
+ "number": "65",
+ "prefix": "NT",
+ "two_dimensional": null,
+ "ean13": "tube-2-ean13",
+ "type": 2
+ },
+ "stock_plate": {
+ "barcode": {
+ "number": "12",
+ "prefix": "DN",
+ "two_dimensional": null,
+ "ean13": "9876543210987",
+ "type": 1
+ }
+ }
+ },
+ "G7": {
+ "uuid": "multiplexed-library-tube-3-uuid",
+ "name": "DN12K A7:H9",
+ "state": "passed",
+ "label": {
+ "text": "ILC Lib Pool Norm",
+ "prefix": "No PCR (Plate) "
+ },
+ "barcode": {
+ "number": "67",
+ "prefix": "NT",
+ "two_dimensional": null,
+ "ean13": "tube-3-ean13",
+ "type": 2
+ },
+ "stock_plate": {
+ "barcode": {
+ "number": "12",
+ "prefix": "DN",
+ "two_dimensional": null,
+ "ean13": "9876543210987",
+ "type": 1
+ }
+ }
+ },
+ "G8": {
+ "uuid": "multiplexed-library-tube-3-uuid",
+ "name": "DN12K A7:H9",
+ "state": "passed",
+ "label": {
+ "text": "ILC Lib Pool Norm",
+ "prefix": "No PCR (Plate) "
+ },
+ "barcode": {
+ "number": "67",
+ "prefix": "NT",
+ "two_dimensional": null,
+ "ean13": "tube-3-ean13",
+ "type": 2
+ },
+ "stock_plate": {
+ "barcode": {
+ "number": "12",
+ "prefix": "DN",
+ "two_dimensional": null,
+ "ean13": "9876543210987",
+ "type": 1
+ }
+ }
+ },
+ "G9": {
+ "uuid": "multiplexed-library-tube-3-uuid",
+ "name": "DN12K A7:H9",
+ "state": "passed",
+ "label": {
+ "text": "ILC Lib Pool Norm",
+ "prefix": "No PCR (Plate) "
+ },
+ "barcode": {
+ "number": "67",
+ "prefix": "NT",
+ "two_dimensional": null,
+ "ean13": "tube-3-ean13",
+ "type": 2
+ },
+ "stock_plate": {
+ "barcode": {
+ "number": "12",
+ "prefix": "DN",
+ "two_dimensional": null,
+ "ean13": "9876543210987",
+ "type": 1
+ }
+ }
+ },
+ "G10": {
+ "uuid": "multiplexed-library-tube-4-uuid",
+ "name": "DN12K A10:H12",
+ "state": "passed",
+ "label": {
+ "text": "ILC Lib Pool Norm",
+ "prefix": "No PCR (Plate) "
+ },
+ "barcode": {
+ "number": "69",
+ "prefix": "NT",
+ "two_dimensional": null,
+ "ean13": "tube-4-ean13",
+ "type": 2
+ },
+ "stock_plate": {
+ "barcode": {
+ "number": "12",
+ "prefix": "DN",
+ "two_dimensional": null,
+ "ean13": "9876543210987",
+ "type": 1
+ }
+ }
+ },
+ "G11": {
+ "uuid": "multiplexed-library-tube-4-uuid",
+ "name": "DN12K A10:H12",
+ "state": "passed",
+ "label": {
+ "text": "ILC Lib Pool Norm",
+ "prefix": "No PCR (Plate) "
+ },
+ "barcode": {
+ "number": "69",
+ "prefix": "NT",
+ "two_dimensional": null,
+ "ean13": "tube-4-ean13",
+ "type": 2
+ },
+ "stock_plate": {
+ "barcode": {
+ "number": "12",
+ "prefix": "DN",
+ "two_dimensional": null,
+ "ean13": "9876543210987",
+ "type": 1
+ }
+ }
+ },
+ "G12": {
+ "uuid": "multiplexed-library-tube-4-uuid",
+ "name": "DN12K A10:H12",
+ "state": "passed",
+ "label": {
+ "text": "ILC Lib Pool Norm",
+ "prefix": "No PCR (Plate) "
+ },
+ "barcode": {
+ "number": "69",
+ "prefix": "NT",
+ "two_dimensional": null,
+ "ean13": "tube-4-ean13",
+ "type": 2
+ },
+ "stock_plate": {
+ "barcode": {
+ "number": "12",
+ "prefix": "DN",
+ "two_dimensional": null,
+ "ean13": "9876543210987",
+ "type": 1
+ }
+ }
+ },
+ "H1": {
+ "uuid": "multiplexed-library-tube-uuid",
+ "name": "DN12K A1:H3",
+ "state": "passed",
+ "label": {
+ "text": "ILC Lib Pool Norm",
+ "prefix": "No PCR (Plate) "
+ },
+ "barcode": {
+ "number": "63",
+ "prefix": "NT",
+ "two_dimensional": null,
+ "ean13": "tube-1-ean13",
+ "type": 2
+ },
+ "stock_plate": {
+ "barcode": {
+ "number": "12",
+ "prefix": "DN",
+ "two_dimensional": null,
+ "ean13": "9876543210987",
+ "type": 1
+ }
+ }
+ },
+ "H2": {
+ "uuid": "multiplexed-library-tube-uuid",
+ "name": "DN12K A1:H3",
+ "state": "passed",
+ "label": {
+ "text": "ILC Lib Pool Norm",
+ "prefix": "No PCR (Plate) "
+ },
+ "barcode": {
+ "number": "63",
+ "prefix": "NT",
+ "two_dimensional": null,
+ "ean13": "tube-1-ean13",
+ "type": 2
+ },
+ "stock_plate": {
+ "barcode": {
+ "number": "12",
+ "prefix": "DN",
+ "two_dimensional": null,
+ "ean13": "9876543210987",
+ "type": 1
+ }
+ }
+ },
+ "H3": {
+ "uuid": "multiplexed-library-tube-uuid",
+ "name": "DN12K A1:H3",
+ "state": "passed",
+ "label": {
+ "text": "ILC Lib Pool Norm",
+ "prefix": "No PCR (Plate) "
+ },
+ "barcode": {
+ "number": "63",
+ "prefix": "NT",
+ "two_dimensional": null,
+ "ean13": "tube-1-ean13",
+ "type": 2
+ },
+ "stock_plate": {
+ "barcode": {
+ "number": "12",
+ "prefix": "DN",
+ "two_dimensional": null,
+ "ean13": "9876543210987",
+ "type": 1
+ }
+ }
+ },
+ "H4": {
+ "uuid": "multiplexed-library-tube-2-uuid",
+ "name": "DN12K A4:H6",
+ "state": "passed",
+ "label": {
+ "text": "ILC Lib Pool Norm",
+ "prefix": "No PCR (Plate) "
+ },
+ "barcode": {
+ "number": "65",
+ "prefix": "NT",
+ "two_dimensional": null,
+ "ean13": "tube-2-ean13",
+ "type": 2
+ },
+ "stock_plate": {
+ "barcode": {
+ "number": "12",
+ "prefix": "DN",
+ "two_dimensional": null,
+ "ean13": "9876543210987",
+ "type": 1
+ }
+ }
+ },
+ "H5": {
+ "uuid": "multiplexed-library-tube-2-uuid",
+ "name": "DN12K A4:H6",
+ "state": "passed",
+ "label": {
+ "text": "ILC Lib Pool Norm",
+ "prefix": "No PCR (Plate) "
+ },
+ "barcode": {
+ "number": "65",
+ "prefix": "NT",
+ "two_dimensional": null,
+ "ean13": "tube-2-ean13",
+ "type": 2
+ },
+ "stock_plate": {
+ "barcode": {
+ "number": "12",
+ "prefix": "DN",
+ "two_dimensional": null,
+ "ean13": "9876543210987",
+ "type": 1
+ }
+ }
+ },
+ "H6": {
+ "uuid": "multiplexed-library-tube-2-uuid",
+ "name": "DN12K A4:H6",
+ "state": "passed",
+ "label": {
+ "text": "ILC Lib Pool Norm",
+ "prefix": "No PCR (Plate) "
+ },
+ "barcode": {
+ "number": "65",
+ "prefix": "NT",
+ "two_dimensional": null,
+ "ean13": "tube-2-ean13",
+ "type": 2
+ },
+ "stock_plate": {
+ "barcode": {
+ "number": "12",
+ "prefix": "DN",
+ "two_dimensional": null,
+ "ean13": "9876543210987",
+ "type": 1
+ }
+ }
+ },
+ "H7": {
+ "uuid": "multiplexed-library-tube-3-uuid",
+ "name": "DN12K A7:H9",
+ "state": "passed",
+ "label": {
+ "text": "ILC Lib Pool Norm",
+ "prefix": "No PCR (Plate) "
+ },
+ "barcode": {
+ "number": "67",
+ "prefix": "NT",
+ "two_dimensional": null,
+ "ean13": "tube-3-ean13",
+ "type": 2
+ },
+ "stock_plate": {
+ "barcode": {
+ "number": "12",
+ "prefix": "DN",
+ "two_dimensional": null,
+ "ean13": "9876543210987",
+ "type": 1
+ }
+ }
+ },
+ "H8": {
+ "uuid": "multiplexed-library-tube-3-uuid",
+ "name": "DN12K A7:H9",
+ "state": "passed",
+ "label": {
+ "text": "ILC Lib Pool Norm",
+ "prefix": "No PCR (Plate) "
+ },
+ "barcode": {
+ "number": "67",
+ "prefix": "NT",
+ "two_dimensional": null,
+ "ean13": "tube-3-ean13",
+ "type": 2
+ },
+ "stock_plate": {
+ "barcode": {
+ "number": "12",
+ "prefix": "DN",
+ "two_dimensional": null,
+ "ean13": "9876543210987",
+ "type": 1
+ }
+ }
+ },
+ "H9": {
+ "uuid": "multiplexed-library-tube-3-uuid",
+ "name": "DN12K A7:H9",
+ "state": "passed",
+ "label": {
+ "text": "ILC Lib Pool Norm",
+ "prefix": "No PCR (Plate) "
+ },
+ "barcode": {
+ "number": "67",
+ "prefix": "NT",
+ "two_dimensional": null,
+ "ean13": "tube-3-ean13",
+ "type": 2
+ },
+ "stock_plate": {
+ "barcode": {
+ "number": "12",
+ "prefix": "DN",
+ "two_dimensional": null,
+ "ean13": "9876543210987",
+ "type": 1
+ }
+ }
+ },
+ "H10": {
+ "uuid": "multiplexed-library-tube-4-uuid",
+ "name": "DN12K A10:H12",
+ "state": "passed",
+ "label": {
+ "text": "ILC Lib Pool Norm",
+ "prefix": "No PCR (Plate) "
+ },
+ "barcode": {
+ "number": "69",
+ "prefix": "NT",
+ "two_dimensional": null,
+ "ean13": "tube-4-ean13",
+ "type": 2
+ },
+ "stock_plate": {
+ "barcode": {
+ "number": "12",
+ "prefix": "DN",
+ "two_dimensional": null,
+ "ean13": "9876543210987",
+ "type": 1
+ }
+ }
+ },
+ "H11": {
+ "uuid": "multiplexed-library-tube-4-uuid",
+ "name": "DN12K A10:H12",
+ "state": "passed",
+ "label": {
+ "text": "ILC Lib Pool Norm",
+ "prefix": "No PCR (Plate) "
+ },
+ "barcode": {
+ "number": "69",
+ "prefix": "NT",
+ "two_dimensional": null,
+ "ean13": "tube-4-ean13",
+ "type": 2
+ },
+ "stock_plate": {
+ "barcode": {
+ "number": "12",
+ "prefix": "DN",
+ "two_dimensional": null,
+ "ean13": "9876543210987",
+ "type": 1
+ }
+ }
+ },
+ "H12": {
+ "uuid": "multiplexed-library-tube-4-uuid",
+ "name": "DN12K A10:H12",
+ "state": "passed",
+ "label": {
+ "text": "ILC Lib Pool Norm",
+ "prefix": "No PCR (Plate) "
+ },
+ "barcode": {
+ "number": "69",
+ "prefix": "NT",
+ "two_dimensional": null,
+ "ean13": "tube-4-ean13",
+ "type": 2
+ },
+ "stock_plate": {
+ "barcode": {
+ "number": "12",
+ "prefix": "DN",
+ "two_dimensional": null,
+ "ean13": "9876543210987",
+ "type": 1
+ }
+ }
+ }
+ },
+ "user": "user-uuid"
+ }
+ ]
+}
\ No newline at end of file
diff --git a/spec/contracts/final-plate-transfers-to-tubes-all-pending-or-started.txt b/spec/contracts/final-plate-transfers-to-tubes-all-pending-or-started.txt
new file mode 100644
index 0000000..d8057db
--- /dev/null
+++ b/spec/contracts/final-plate-transfers-to-tubes-all-pending-or-started.txt
@@ -0,0 +1,2667 @@
+HTTP/1.1 200 OK
+Content-Type: application/json
+
+{
+ "actions": {
+ "read": "http://localhost:3000/final-plate-uuid/transfers_to_tubes/1",
+ "first": "http://localhost:3000/final-plate-uuid/transfers_to_tubes/1",
+ "last": "http://localhost:3000/final-plate-uuid/transfers_to_tubes/1"
+ },
+ "size": 1,
+ "transfers": [
+ {
+ "created_at": "2016-09-27 11:14:52 +0100",
+ "updated_at": "2016-09-27 11:14:52 +0100",
+ "actions": {
+ "read": "http://localhost:3000/transfer-uuid"
+ },
+ "uuid": "transfer-uuid",
+ "source": {
+ "created_at": "2016-09-27 11:11:08 +0100",
+ "updated_at": "2016-09-27 11:11:10 +0100",
+ "comments": {
+ "size": 0,
+ "actions": {
+ "read": "http://localhost:3000/final-plate-uuid/comments"
+ }
+ },
+ "wells": {
+ "size": 96,
+ "actions": {
+ "read": "http://localhost:3000/final-plate-uuid/wells"
+ }
+ },
+ "submission_pools": {
+ "size": 4,
+ "actions": {
+ "read": "http://localhost:3000/final-plate-uuid/submission_pools"
+ }
+ },
+ "requests": {
+ "size": 0,
+ "actions": {
+ "read": "http://localhost:3000/final-plate-uuid/requests"
+ }
+ },
+ "qc_files": {
+ "size": 0,
+ "actions": {
+ "read": "http://localhost:3000/final-plate-uuid/qc_files"
+ }
+ },
+ "source_transfers": {
+ "size": 1,
+ "actions": {
+ "read": "http://localhost:3000/final-plate-uuid/source_transfers"
+ }
+ },
+ "transfers_to_tubes": {
+ "size": 1,
+ "actions": {
+ "read": "http://localhost:3000/final-plate-uuid/transfers_to_tubes/1",
+ "first": "http://localhost:3000/final-plate-uuid/transfers_to_tubes/1",
+ "last": "http://localhost:3000/final-plate-uuid/transfers_to_tubes/1",
+ "previous": "http://localhost:3000/final-plate-uuid/transfers_to_tubes/1",
+ "next": "http://localhost:3000/final-plate-uuid/transfers_to_tubes/2"
+ }
+ },
+ "creation_transfers": {
+ "size": 1,
+ "actions": {
+ "read": "http://localhost:3000/final-plate-uuid/creation_transfers"
+ }
+ },
+ "plate_purpose": {
+ "actions": {
+ "read": "http://localhost:3000/ilc-al-libs-tagged-uuid"
+ },
+ "uuid": "ilc-al-libs-tagged-uuid",
+ "lifespan": null,
+ "name": "ILC AL Libs Tagged"
+ },
+ "actions": {
+ "read": "http://localhost:3000/final-plate-uuid"
+ },
+ "uuid": "final-plate-uuid",
+ "name": "Plate number",
+ "qc_state": null,
+ "barcode": {
+ "ean13": "0123456789012",
+ "number": "number",
+ "prefix": "DN",
+ "two_dimensional": null,
+ "type": 1
+ },
+ "iteration": 1,
+ "label": {
+ "prefix": "No PCR (Plate) ",
+ "text": "ILC AL Libs Tagged"
+ },
+ "location": "Library creation freezer",
+ "pools": {
+ "submission-1-uuid": {
+ "wells": [
+ "A10",
+ "A11",
+ "A12",
+ "B10",
+ "B11",
+ "B12",
+ "C10",
+ "C11",
+ "C12",
+ "D10",
+ "D11",
+ "D12",
+ "E10",
+ "E11",
+ "E12",
+ "F10",
+ "F11",
+ "F12",
+ "G10",
+ "G11",
+ "G12",
+ "H10",
+ "H11",
+ "H12"
+ ],
+ "insert_size": {
+ "from": 100,
+ "to": 150
+ },
+ "library_type": {
+ "name": "No PCR (Plate)"
+ },
+ "request_type": "Illumina-C Library Creation No PCR"
+ },
+ "submission-2-uuid": {
+ "wells": [
+ "A1",
+ "A2",
+ "A3",
+ "B1",
+ "B2",
+ "B3",
+ "C1",
+ "C2",
+ "C3",
+ "D1",
+ "D2",
+ "D3",
+ "E1",
+ "E2",
+ "E3",
+ "F1",
+ "F2",
+ "F3",
+ "G1",
+ "G2",
+ "G3",
+ "H1",
+ "H2",
+ "H3"
+ ],
+ "insert_size": {
+ "from": 100,
+ "to": 150
+ },
+ "library_type": {
+ "name": "No PCR (Plate)"
+ },
+ "request_type": "Illumina-C Library Creation No PCR"
+ },
+ "submission-3-uuid": {
+ "wells": [
+ "A4",
+ "A5",
+ "A6",
+ "B4",
+ "B5",
+ "B6",
+ "C4",
+ "C5",
+ "C6",
+ "D4",
+ "D5",
+ "D6",
+ "E4",
+ "E5",
+ "E6",
+ "F4",
+ "F5",
+ "F6",
+ "G4",
+ "G5",
+ "G6",
+ "H4",
+ "H5",
+ "H6"
+ ],
+ "insert_size": {
+ "from": 100,
+ "to": 150
+ },
+ "library_type": {
+ "name": "No PCR (Plate)"
+ },
+ "request_type": "Illumina-C Library Creation No PCR"
+ },
+ "submission-4-uuid": {
+ "wells": [
+ "A7",
+ "A8",
+ "A9",
+ "B7",
+ "B8",
+ "B9",
+ "C7",
+ "C8",
+ "C9",
+ "D7",
+ "D8",
+ "D9",
+ "E7",
+ "E8",
+ "E9",
+ "F7",
+ "F8",
+ "F9",
+ "G7",
+ "G8",
+ "G9",
+ "H7",
+ "H8",
+ "H9"
+ ],
+ "insert_size": {
+ "from": 100,
+ "to": 150
+ },
+ "library_type": {
+ "name": "No PCR (Plate)"
+ },
+ "request_type": "Illumina-C Library Creation No PCR"
+ }
+ },
+ "pre_cap_groups": {},
+ "priority": 0,
+ "size": 96,
+ "state": "qc_complete",
+ "stock_plate": {
+ "barcode": {
+ "ean13": "9876543210987",
+ "number": "13",
+ "prefix": "DN",
+ "two_dimensional": null,
+ "type": 1
+ },
+ "uuid": "stock-plate-uuid"
+ }
+ },
+ "transfers": {
+ "A1": {
+ "uuid": "multiplexed-library-tube-uuid",
+ "name": "DN13L A1:H3",
+ "state": "pending",
+ "label": {
+ "text": "ILC Lib Pool Norm",
+ "prefix": "No PCR (Plate) "
+ },
+ "barcode": {
+ "number": "72",
+ "prefix": "NT",
+ "two_dimensional": null,
+ "ean13": "tube-1-ean13",
+ "type": 2
+ },
+ "stock_plate": {
+ "barcode": {
+ "number": "13",
+ "prefix": "DN",
+ "two_dimensional": null,
+ "ean13": "9876543210987",
+ "type": 1
+ }
+ }
+ },
+ "A2": {
+ "uuid": "multiplexed-library-tube-uuid",
+ "name": "DN13L A1:H3",
+ "state": "pending",
+ "label": {
+ "text": "ILC Lib Pool Norm",
+ "prefix": "No PCR (Plate) "
+ },
+ "barcode": {
+ "number": "72",
+ "prefix": "NT",
+ "two_dimensional": null,
+ "ean13": "tube-1-ean13",
+ "type": 2
+ },
+ "stock_plate": {
+ "barcode": {
+ "number": "13",
+ "prefix": "DN",
+ "two_dimensional": null,
+ "ean13": "9876543210987",
+ "type": 1
+ }
+ }
+ },
+ "A3": {
+ "uuid": "multiplexed-library-tube-uuid",
+ "name": "DN13L A1:H3",
+ "state": "pending",
+ "label": {
+ "text": "ILC Lib Pool Norm",
+ "prefix": "No PCR (Plate) "
+ },
+ "barcode": {
+ "number": "72",
+ "prefix": "NT",
+ "two_dimensional": null,
+ "ean13": "tube-1-ean13",
+ "type": 2
+ },
+ "stock_plate": {
+ "barcode": {
+ "number": "13",
+ "prefix": "DN",
+ "two_dimensional": null,
+ "ean13": "9876543210987",
+ "type": 1
+ }
+ }
+ },
+ "A4": {
+ "uuid": "multiplexed-library-tube-2-uuid",
+ "name": "DN13L A4:H6",
+ "state": "pending",
+ "label": {
+ "text": "ILC Lib Pool Norm",
+ "prefix": "No PCR (Plate) "
+ },
+ "barcode": {
+ "number": "74",
+ "prefix": "NT",
+ "two_dimensional": null,
+ "ean13": "tube-2-ean13",
+ "type": 2
+ },
+ "stock_plate": {
+ "barcode": {
+ "number": "13",
+ "prefix": "DN",
+ "two_dimensional": null,
+ "ean13": "9876543210987",
+ "type": 1
+ }
+ }
+ },
+ "A5": {
+ "uuid": "multiplexed-library-tube-2-uuid",
+ "name": "DN13L A4:H6",
+ "state": "pending",
+ "label": {
+ "text": "ILC Lib Pool Norm",
+ "prefix": "No PCR (Plate) "
+ },
+ "barcode": {
+ "number": "74",
+ "prefix": "NT",
+ "two_dimensional": null,
+ "ean13": "tube-2-ean13",
+ "type": 2
+ },
+ "stock_plate": {
+ "barcode": {
+ "number": "13",
+ "prefix": "DN",
+ "two_dimensional": null,
+ "ean13": "9876543210987",
+ "type": 1
+ }
+ }
+ },
+ "A6": {
+ "uuid": "multiplexed-library-tube-2-uuid",
+ "name": "DN13L A4:H6",
+ "state": "pending",
+ "label": {
+ "text": "ILC Lib Pool Norm",
+ "prefix": "No PCR (Plate) "
+ },
+ "barcode": {
+ "number": "74",
+ "prefix": "NT",
+ "two_dimensional": null,
+ "ean13": "tube-2-ean13",
+ "type": 2
+ },
+ "stock_plate": {
+ "barcode": {
+ "number": "13",
+ "prefix": "DN",
+ "two_dimensional": null,
+ "ean13": "9876543210987",
+ "type": 1
+ }
+ }
+ },
+ "A7": {
+ "uuid": "multiplexed-library-tube-3-uuid",
+ "name": "DN13L A7:H9",
+ "state": "pending",
+ "label": {
+ "text": "ILC Lib Pool Norm",
+ "prefix": "No PCR (Plate) "
+ },
+ "barcode": {
+ "number": "76",
+ "prefix": "NT",
+ "two_dimensional": null,
+ "ean13": "tube-3-ean13",
+ "type": 2
+ },
+ "stock_plate": {
+ "barcode": {
+ "number": "13",
+ "prefix": "DN",
+ "two_dimensional": null,
+ "ean13": "9876543210987",
+ "type": 1
+ }
+ }
+ },
+ "A8": {
+ "uuid": "multiplexed-library-tube-3-uuid",
+ "name": "DN13L A7:H9",
+ "state": "pending",
+ "label": {
+ "text": "ILC Lib Pool Norm",
+ "prefix": "No PCR (Plate) "
+ },
+ "barcode": {
+ "number": "76",
+ "prefix": "NT",
+ "two_dimensional": null,
+ "ean13": "tube-3-ean13",
+ "type": 2
+ },
+ "stock_plate": {
+ "barcode": {
+ "number": "13",
+ "prefix": "DN",
+ "two_dimensional": null,
+ "ean13": "9876543210987",
+ "type": 1
+ }
+ }
+ },
+ "A9": {
+ "uuid": "multiplexed-library-tube-3-uuid",
+ "name": "DN13L A7:H9",
+ "state": "pending",
+ "label": {
+ "text": "ILC Lib Pool Norm",
+ "prefix": "No PCR (Plate) "
+ },
+ "barcode": {
+ "number": "76",
+ "prefix": "NT",
+ "two_dimensional": null,
+ "ean13": "tube-3-ean13",
+ "type": 2
+ },
+ "stock_plate": {
+ "barcode": {
+ "number": "13",
+ "prefix": "DN",
+ "two_dimensional": null,
+ "ean13": "9876543210987",
+ "type": 1
+ }
+ }
+ },
+ "A10": {
+ "uuid": "multiplexed-library-tube-4-uuid",
+ "name": "DN13L A10:H12",
+ "state": "started",
+ "label": {
+ "text": "ILC Lib Pool Norm",
+ "prefix": "No PCR (Plate) "
+ },
+ "barcode": {
+ "number": "78",
+ "prefix": "NT",
+ "two_dimensional": null,
+ "ean13": "tube-4-ean13",
+ "type": 2
+ },
+ "stock_plate": {
+ "barcode": {
+ "number": "13",
+ "prefix": "DN",
+ "two_dimensional": null,
+ "ean13": "9876543210987",
+ "type": 1
+ }
+ }
+ },
+ "A11": {
+ "uuid": "multiplexed-library-tube-4-uuid",
+ "name": "DN13L A10:H12",
+ "state": "started",
+ "label": {
+ "text": "ILC Lib Pool Norm",
+ "prefix": "No PCR (Plate) "
+ },
+ "barcode": {
+ "number": "78",
+ "prefix": "NT",
+ "two_dimensional": null,
+ "ean13": "tube-4-ean13",
+ "type": 2
+ },
+ "stock_plate": {
+ "barcode": {
+ "number": "13",
+ "prefix": "DN",
+ "two_dimensional": null,
+ "ean13": "9876543210987",
+ "type": 1
+ }
+ }
+ },
+ "A12": {
+ "uuid": "multiplexed-library-tube-4-uuid",
+ "name": "DN13L A10:H12",
+ "state": "started",
+ "label": {
+ "text": "ILC Lib Pool Norm",
+ "prefix": "No PCR (Plate) "
+ },
+ "barcode": {
+ "number": "78",
+ "prefix": "NT",
+ "two_dimensional": null,
+ "ean13": "tube-4-ean13",
+ "type": 2
+ },
+ "stock_plate": {
+ "barcode": {
+ "number": "13",
+ "prefix": "DN",
+ "two_dimensional": null,
+ "ean13": "9876543210987",
+ "type": 1
+ }
+ }
+ },
+ "B1": {
+ "uuid": "multiplexed-library-tube-uuid",
+ "name": "DN13L A1:H3",
+ "state": "pending",
+ "label": {
+ "text": "ILC Lib Pool Norm",
+ "prefix": "No PCR (Plate) "
+ },
+ "barcode": {
+ "number": "72",
+ "prefix": "NT",
+ "two_dimensional": null,
+ "ean13": "tube-1-ean13",
+ "type": 2
+ },
+ "stock_plate": {
+ "barcode": {
+ "number": "13",
+ "prefix": "DN",
+ "two_dimensional": null,
+ "ean13": "9876543210987",
+ "type": 1
+ }
+ }
+ },
+ "B2": {
+ "uuid": "multiplexed-library-tube-uuid",
+ "name": "DN13L A1:H3",
+ "state": "pending",
+ "label": {
+ "text": "ILC Lib Pool Norm",
+ "prefix": "No PCR (Plate) "
+ },
+ "barcode": {
+ "number": "72",
+ "prefix": "NT",
+ "two_dimensional": null,
+ "ean13": "tube-1-ean13",
+ "type": 2
+ },
+ "stock_plate": {
+ "barcode": {
+ "number": "13",
+ "prefix": "DN",
+ "two_dimensional": null,
+ "ean13": "9876543210987",
+ "type": 1
+ }
+ }
+ },
+ "B3": {
+ "uuid": "multiplexed-library-tube-uuid",
+ "name": "DN13L A1:H3",
+ "state": "pending",
+ "label": {
+ "text": "ILC Lib Pool Norm",
+ "prefix": "No PCR (Plate) "
+ },
+ "barcode": {
+ "number": "72",
+ "prefix": "NT",
+ "two_dimensional": null,
+ "ean13": "tube-1-ean13",
+ "type": 2
+ },
+ "stock_plate": {
+ "barcode": {
+ "number": "13",
+ "prefix": "DN",
+ "two_dimensional": null,
+ "ean13": "9876543210987",
+ "type": 1
+ }
+ }
+ },
+ "B4": {
+ "uuid": "multiplexed-library-tube-2-uuid",
+ "name": "DN13L A4:H6",
+ "state": "pending",
+ "label": {
+ "text": "ILC Lib Pool Norm",
+ "prefix": "No PCR (Plate) "
+ },
+ "barcode": {
+ "number": "74",
+ "prefix": "NT",
+ "two_dimensional": null,
+ "ean13": "tube-2-ean13",
+ "type": 2
+ },
+ "stock_plate": {
+ "barcode": {
+ "number": "13",
+ "prefix": "DN",
+ "two_dimensional": null,
+ "ean13": "9876543210987",
+ "type": 1
+ }
+ }
+ },
+ "B5": {
+ "uuid": "multiplexed-library-tube-2-uuid",
+ "name": "DN13L A4:H6",
+ "state": "pending",
+ "label": {
+ "text": "ILC Lib Pool Norm",
+ "prefix": "No PCR (Plate) "
+ },
+ "barcode": {
+ "number": "74",
+ "prefix": "NT",
+ "two_dimensional": null,
+ "ean13": "tube-2-ean13",
+ "type": 2
+ },
+ "stock_plate": {
+ "barcode": {
+ "number": "13",
+ "prefix": "DN",
+ "two_dimensional": null,
+ "ean13": "9876543210987",
+ "type": 1
+ }
+ }
+ },
+ "B6": {
+ "uuid": "multiplexed-library-tube-2-uuid",
+ "name": "DN13L A4:H6",
+ "state": "pending",
+ "label": {
+ "text": "ILC Lib Pool Norm",
+ "prefix": "No PCR (Plate) "
+ },
+ "barcode": {
+ "number": "74",
+ "prefix": "NT",
+ "two_dimensional": null,
+ "ean13": "tube-2-ean13",
+ "type": 2
+ },
+ "stock_plate": {
+ "barcode": {
+ "number": "13",
+ "prefix": "DN",
+ "two_dimensional": null,
+ "ean13": "9876543210987",
+ "type": 1
+ }
+ }
+ },
+ "B7": {
+ "uuid": "multiplexed-library-tube-3-uuid",
+ "name": "DN13L A7:H9",
+ "state": "pending",
+ "label": {
+ "text": "ILC Lib Pool Norm",
+ "prefix": "No PCR (Plate) "
+ },
+ "barcode": {
+ "number": "76",
+ "prefix": "NT",
+ "two_dimensional": null,
+ "ean13": "tube-3-ean13",
+ "type": 2
+ },
+ "stock_plate": {
+ "barcode": {
+ "number": "13",
+ "prefix": "DN",
+ "two_dimensional": null,
+ "ean13": "9876543210987",
+ "type": 1
+ }
+ }
+ },
+ "B8": {
+ "uuid": "multiplexed-library-tube-3-uuid",
+ "name": "DN13L A7:H9",
+ "state": "pending",
+ "label": {
+ "text": "ILC Lib Pool Norm",
+ "prefix": "No PCR (Plate) "
+ },
+ "barcode": {
+ "number": "76",
+ "prefix": "NT",
+ "two_dimensional": null,
+ "ean13": "tube-3-ean13",
+ "type": 2
+ },
+ "stock_plate": {
+ "barcode": {
+ "number": "13",
+ "prefix": "DN",
+ "two_dimensional": null,
+ "ean13": "9876543210987",
+ "type": 1
+ }
+ }
+ },
+ "B9": {
+ "uuid": "multiplexed-library-tube-3-uuid",
+ "name": "DN13L A7:H9",
+ "state": "pending",
+ "label": {
+ "text": "ILC Lib Pool Norm",
+ "prefix": "No PCR (Plate) "
+ },
+ "barcode": {
+ "number": "76",
+ "prefix": "NT",
+ "two_dimensional": null,
+ "ean13": "tube-3-ean13",
+ "type": 2
+ },
+ "stock_plate": {
+ "barcode": {
+ "number": "13",
+ "prefix": "DN",
+ "two_dimensional": null,
+ "ean13": "9876543210987",
+ "type": 1
+ }
+ }
+ },
+ "B10": {
+ "uuid": "multiplexed-library-tube-4-uuid",
+ "name": "DN13L A10:H12",
+ "state": "started",
+ "label": {
+ "text": "ILC Lib Pool Norm",
+ "prefix": "No PCR (Plate) "
+ },
+ "barcode": {
+ "number": "78",
+ "prefix": "NT",
+ "two_dimensional": null,
+ "ean13": "tube-4-ean13",
+ "type": 2
+ },
+ "stock_plate": {
+ "barcode": {
+ "number": "13",
+ "prefix": "DN",
+ "two_dimensional": null,
+ "ean13": "9876543210987",
+ "type": 1
+ }
+ }
+ },
+ "B11": {
+ "uuid": "multiplexed-library-tube-4-uuid",
+ "name": "DN13L A10:H12",
+ "state": "started",
+ "label": {
+ "text": "ILC Lib Pool Norm",
+ "prefix": "No PCR (Plate) "
+ },
+ "barcode": {
+ "number": "78",
+ "prefix": "NT",
+ "two_dimensional": null,
+ "ean13": "tube-4-ean13",
+ "type": 2
+ },
+ "stock_plate": {
+ "barcode": {
+ "number": "13",
+ "prefix": "DN",
+ "two_dimensional": null,
+ "ean13": "9876543210987",
+ "type": 1
+ }
+ }
+ },
+ "B12": {
+ "uuid": "multiplexed-library-tube-4-uuid",
+ "name": "DN13L A10:H12",
+ "state": "started",
+ "label": {
+ "text": "ILC Lib Pool Norm",
+ "prefix": "No PCR (Plate) "
+ },
+ "barcode": {
+ "number": "78",
+ "prefix": "NT",
+ "two_dimensional": null,
+ "ean13": "tube-4-ean13",
+ "type": 2
+ },
+ "stock_plate": {
+ "barcode": {
+ "number": "13",
+ "prefix": "DN",
+ "two_dimensional": null,
+ "ean13": "9876543210987",
+ "type": 1
+ }
+ }
+ },
+ "C1": {
+ "uuid": "multiplexed-library-tube-uuid",
+ "name": "DN13L A1:H3",
+ "state": "pending",
+ "label": {
+ "text": "ILC Lib Pool Norm",
+ "prefix": "No PCR (Plate) "
+ },
+ "barcode": {
+ "number": "72",
+ "prefix": "NT",
+ "two_dimensional": null,
+ "ean13": "tube-1-ean13",
+ "type": 2
+ },
+ "stock_plate": {
+ "barcode": {
+ "number": "13",
+ "prefix": "DN",
+ "two_dimensional": null,
+ "ean13": "9876543210987",
+ "type": 1
+ }
+ }
+ },
+ "C2": {
+ "uuid": "multiplexed-library-tube-uuid",
+ "name": "DN13L A1:H3",
+ "state": "pending",
+ "label": {
+ "text": "ILC Lib Pool Norm",
+ "prefix": "No PCR (Plate) "
+ },
+ "barcode": {
+ "number": "72",
+ "prefix": "NT",
+ "two_dimensional": null,
+ "ean13": "tube-1-ean13",
+ "type": 2
+ },
+ "stock_plate": {
+ "barcode": {
+ "number": "13",
+ "prefix": "DN",
+ "two_dimensional": null,
+ "ean13": "9876543210987",
+ "type": 1
+ }
+ }
+ },
+ "C3": {
+ "uuid": "multiplexed-library-tube-uuid",
+ "name": "DN13L A1:H3",
+ "state": "pending",
+ "label": {
+ "text": "ILC Lib Pool Norm",
+ "prefix": "No PCR (Plate) "
+ },
+ "barcode": {
+ "number": "72",
+ "prefix": "NT",
+ "two_dimensional": null,
+ "ean13": "tube-1-ean13",
+ "type": 2
+ },
+ "stock_plate": {
+ "barcode": {
+ "number": "13",
+ "prefix": "DN",
+ "two_dimensional": null,
+ "ean13": "9876543210987",
+ "type": 1
+ }
+ }
+ },
+ "C4": {
+ "uuid": "multiplexed-library-tube-2-uuid",
+ "name": "DN13L A4:H6",
+ "state": "pending",
+ "label": {
+ "text": "ILC Lib Pool Norm",
+ "prefix": "No PCR (Plate) "
+ },
+ "barcode": {
+ "number": "74",
+ "prefix": "NT",
+ "two_dimensional": null,
+ "ean13": "tube-2-ean13",
+ "type": 2
+ },
+ "stock_plate": {
+ "barcode": {
+ "number": "13",
+ "prefix": "DN",
+ "two_dimensional": null,
+ "ean13": "9876543210987",
+ "type": 1
+ }
+ }
+ },
+ "C5": {
+ "uuid": "multiplexed-library-tube-2-uuid",
+ "name": "DN13L A4:H6",
+ "state": "pending",
+ "label": {
+ "text": "ILC Lib Pool Norm",
+ "prefix": "No PCR (Plate) "
+ },
+ "barcode": {
+ "number": "74",
+ "prefix": "NT",
+ "two_dimensional": null,
+ "ean13": "tube-2-ean13",
+ "type": 2
+ },
+ "stock_plate": {
+ "barcode": {
+ "number": "13",
+ "prefix": "DN",
+ "two_dimensional": null,
+ "ean13": "9876543210987",
+ "type": 1
+ }
+ }
+ },
+ "C6": {
+ "uuid": "multiplexed-library-tube-2-uuid",
+ "name": "DN13L A4:H6",
+ "state": "pending",
+ "label": {
+ "text": "ILC Lib Pool Norm",
+ "prefix": "No PCR (Plate) "
+ },
+ "barcode": {
+ "number": "74",
+ "prefix": "NT",
+ "two_dimensional": null,
+ "ean13": "tube-2-ean13",
+ "type": 2
+ },
+ "stock_plate": {
+ "barcode": {
+ "number": "13",
+ "prefix": "DN",
+ "two_dimensional": null,
+ "ean13": "9876543210987",
+ "type": 1
+ }
+ }
+ },
+ "C7": {
+ "uuid": "multiplexed-library-tube-3-uuid",
+ "name": "DN13L A7:H9",
+ "state": "pending",
+ "label": {
+ "text": "ILC Lib Pool Norm",
+ "prefix": "No PCR (Plate) "
+ },
+ "barcode": {
+ "number": "76",
+ "prefix": "NT",
+ "two_dimensional": null,
+ "ean13": "tube-3-ean13",
+ "type": 2
+ },
+ "stock_plate": {
+ "barcode": {
+ "number": "13",
+ "prefix": "DN",
+ "two_dimensional": null,
+ "ean13": "9876543210987",
+ "type": 1
+ }
+ }
+ },
+ "C8": {
+ "uuid": "multiplexed-library-tube-3-uuid",
+ "name": "DN13L A7:H9",
+ "state": "pending",
+ "label": {
+ "text": "ILC Lib Pool Norm",
+ "prefix": "No PCR (Plate) "
+ },
+ "barcode": {
+ "number": "76",
+ "prefix": "NT",
+ "two_dimensional": null,
+ "ean13": "tube-3-ean13",
+ "type": 2
+ },
+ "stock_plate": {
+ "barcode": {
+ "number": "13",
+ "prefix": "DN",
+ "two_dimensional": null,
+ "ean13": "9876543210987",
+ "type": 1
+ }
+ }
+ },
+ "C9": {
+ "uuid": "multiplexed-library-tube-3-uuid",
+ "name": "DN13L A7:H9",
+ "state": "pending",
+ "label": {
+ "text": "ILC Lib Pool Norm",
+ "prefix": "No PCR (Plate) "
+ },
+ "barcode": {
+ "number": "76",
+ "prefix": "NT",
+ "two_dimensional": null,
+ "ean13": "tube-3-ean13",
+ "type": 2
+ },
+ "stock_plate": {
+ "barcode": {
+ "number": "13",
+ "prefix": "DN",
+ "two_dimensional": null,
+ "ean13": "9876543210987",
+ "type": 1
+ }
+ }
+ },
+ "C10": {
+ "uuid": "multiplexed-library-tube-4-uuid",
+ "name": "DN13L A10:H12",
+ "state": "started",
+ "label": {
+ "text": "ILC Lib Pool Norm",
+ "prefix": "No PCR (Plate) "
+ },
+ "barcode": {
+ "number": "78",
+ "prefix": "NT",
+ "two_dimensional": null,
+ "ean13": "tube-4-ean13",
+ "type": 2
+ },
+ "stock_plate": {
+ "barcode": {
+ "number": "13",
+ "prefix": "DN",
+ "two_dimensional": null,
+ "ean13": "9876543210987",
+ "type": 1
+ }
+ }
+ },
+ "C11": {
+ "uuid": "multiplexed-library-tube-4-uuid",
+ "name": "DN13L A10:H12",
+ "state": "started",
+ "label": {
+ "text": "ILC Lib Pool Norm",
+ "prefix": "No PCR (Plate) "
+ },
+ "barcode": {
+ "number": "78",
+ "prefix": "NT",
+ "two_dimensional": null,
+ "ean13": "tube-4-ean13",
+ "type": 2
+ },
+ "stock_plate": {
+ "barcode": {
+ "number": "13",
+ "prefix": "DN",
+ "two_dimensional": null,
+ "ean13": "9876543210987",
+ "type": 1
+ }
+ }
+ },
+ "C12": {
+ "uuid": "multiplexed-library-tube-4-uuid",
+ "name": "DN13L A10:H12",
+ "state": "started",
+ "label": {
+ "text": "ILC Lib Pool Norm",
+ "prefix": "No PCR (Plate) "
+ },
+ "barcode": {
+ "number": "78",
+ "prefix": "NT",
+ "two_dimensional": null,
+ "ean13": "tube-4-ean13",
+ "type": 2
+ },
+ "stock_plate": {
+ "barcode": {
+ "number": "13",
+ "prefix": "DN",
+ "two_dimensional": null,
+ "ean13": "9876543210987",
+ "type": 1
+ }
+ }
+ },
+ "D1": {
+ "uuid": "multiplexed-library-tube-uuid",
+ "name": "DN13L A1:H3",
+ "state": "pending",
+ "label": {
+ "text": "ILC Lib Pool Norm",
+ "prefix": "No PCR (Plate) "
+ },
+ "barcode": {
+ "number": "72",
+ "prefix": "NT",
+ "two_dimensional": null,
+ "ean13": "tube-1-ean13",
+ "type": 2
+ },
+ "stock_plate": {
+ "barcode": {
+ "number": "13",
+ "prefix": "DN",
+ "two_dimensional": null,
+ "ean13": "9876543210987",
+ "type": 1
+ }
+ }
+ },
+ "D2": {
+ "uuid": "multiplexed-library-tube-uuid",
+ "name": "DN13L A1:H3",
+ "state": "pending",
+ "label": {
+ "text": "ILC Lib Pool Norm",
+ "prefix": "No PCR (Plate) "
+ },
+ "barcode": {
+ "number": "72",
+ "prefix": "NT",
+ "two_dimensional": null,
+ "ean13": "tube-1-ean13",
+ "type": 2
+ },
+ "stock_plate": {
+ "barcode": {
+ "number": "13",
+ "prefix": "DN",
+ "two_dimensional": null,
+ "ean13": "9876543210987",
+ "type": 1
+ }
+ }
+ },
+ "D3": {
+ "uuid": "multiplexed-library-tube-uuid",
+ "name": "DN13L A1:H3",
+ "state": "pending",
+ "label": {
+ "text": "ILC Lib Pool Norm",
+ "prefix": "No PCR (Plate) "
+ },
+ "barcode": {
+ "number": "72",
+ "prefix": "NT",
+ "two_dimensional": null,
+ "ean13": "tube-1-ean13",
+ "type": 2
+ },
+ "stock_plate": {
+ "barcode": {
+ "number": "13",
+ "prefix": "DN",
+ "two_dimensional": null,
+ "ean13": "9876543210987",
+ "type": 1
+ }
+ }
+ },
+ "D4": {
+ "uuid": "multiplexed-library-tube-2-uuid",
+ "name": "DN13L A4:H6",
+ "state": "pending",
+ "label": {
+ "text": "ILC Lib Pool Norm",
+ "prefix": "No PCR (Plate) "
+ },
+ "barcode": {
+ "number": "74",
+ "prefix": "NT",
+ "two_dimensional": null,
+ "ean13": "tube-2-ean13",
+ "type": 2
+ },
+ "stock_plate": {
+ "barcode": {
+ "number": "13",
+ "prefix": "DN",
+ "two_dimensional": null,
+ "ean13": "9876543210987",
+ "type": 1
+ }
+ }
+ },
+ "D5": {
+ "uuid": "multiplexed-library-tube-2-uuid",
+ "name": "DN13L A4:H6",
+ "state": "pending",
+ "label": {
+ "text": "ILC Lib Pool Norm",
+ "prefix": "No PCR (Plate) "
+ },
+ "barcode": {
+ "number": "74",
+ "prefix": "NT",
+ "two_dimensional": null,
+ "ean13": "tube-2-ean13",
+ "type": 2
+ },
+ "stock_plate": {
+ "barcode": {
+ "number": "13",
+ "prefix": "DN",
+ "two_dimensional": null,
+ "ean13": "9876543210987",
+ "type": 1
+ }
+ }
+ },
+ "D6": {
+ "uuid": "multiplexed-library-tube-2-uuid",
+ "name": "DN13L A4:H6",
+ "state": "pending",
+ "label": {
+ "text": "ILC Lib Pool Norm",
+ "prefix": "No PCR (Plate) "
+ },
+ "barcode": {
+ "number": "74",
+ "prefix": "NT",
+ "two_dimensional": null,
+ "ean13": "tube-2-ean13",
+ "type": 2
+ },
+ "stock_plate": {
+ "barcode": {
+ "number": "13",
+ "prefix": "DN",
+ "two_dimensional": null,
+ "ean13": "9876543210987",
+ "type": 1
+ }
+ }
+ },
+ "D7": {
+ "uuid": "multiplexed-library-tube-3-uuid",
+ "name": "DN13L A7:H9",
+ "state": "pending",
+ "label": {
+ "text": "ILC Lib Pool Norm",
+ "prefix": "No PCR (Plate) "
+ },
+ "barcode": {
+ "number": "76",
+ "prefix": "NT",
+ "two_dimensional": null,
+ "ean13": "tube-3-ean13",
+ "type": 2
+ },
+ "stock_plate": {
+ "barcode": {
+ "number": "13",
+ "prefix": "DN",
+ "two_dimensional": null,
+ "ean13": "9876543210987",
+ "type": 1
+ }
+ }
+ },
+ "D8": {
+ "uuid": "multiplexed-library-tube-3-uuid",
+ "name": "DN13L A7:H9",
+ "state": "pending",
+ "label": {
+ "text": "ILC Lib Pool Norm",
+ "prefix": "No PCR (Plate) "
+ },
+ "barcode": {
+ "number": "76",
+ "prefix": "NT",
+ "two_dimensional": null,
+ "ean13": "tube-3-ean13",
+ "type": 2
+ },
+ "stock_plate": {
+ "barcode": {
+ "number": "13",
+ "prefix": "DN",
+ "two_dimensional": null,
+ "ean13": "9876543210987",
+ "type": 1
+ }
+ }
+ },
+ "D9": {
+ "uuid": "multiplexed-library-tube-3-uuid",
+ "name": "DN13L A7:H9",
+ "state": "pending",
+ "label": {
+ "text": "ILC Lib Pool Norm",
+ "prefix": "No PCR (Plate) "
+ },
+ "barcode": {
+ "number": "76",
+ "prefix": "NT",
+ "two_dimensional": null,
+ "ean13": "tube-3-ean13",
+ "type": 2
+ },
+ "stock_plate": {
+ "barcode": {
+ "number": "13",
+ "prefix": "DN",
+ "two_dimensional": null,
+ "ean13": "9876543210987",
+ "type": 1
+ }
+ }
+ },
+ "D10": {
+ "uuid": "multiplexed-library-tube-4-uuid",
+ "name": "DN13L A10:H12",
+ "state": "started",
+ "label": {
+ "text": "ILC Lib Pool Norm",
+ "prefix": "No PCR (Plate) "
+ },
+ "barcode": {
+ "number": "78",
+ "prefix": "NT",
+ "two_dimensional": null,
+ "ean13": "tube-4-ean13",
+ "type": 2
+ },
+ "stock_plate": {
+ "barcode": {
+ "number": "13",
+ "prefix": "DN",
+ "two_dimensional": null,
+ "ean13": "9876543210987",
+ "type": 1
+ }
+ }
+ },
+ "D11": {
+ "uuid": "multiplexed-library-tube-4-uuid",
+ "name": "DN13L A10:H12",
+ "state": "started",
+ "label": {
+ "text": "ILC Lib Pool Norm",
+ "prefix": "No PCR (Plate) "
+ },
+ "barcode": {
+ "number": "78",
+ "prefix": "NT",
+ "two_dimensional": null,
+ "ean13": "tube-4-ean13",
+ "type": 2
+ },
+ "stock_plate": {
+ "barcode": {
+ "number": "13",
+ "prefix": "DN",
+ "two_dimensional": null,
+ "ean13": "9876543210987",
+ "type": 1
+ }
+ }
+ },
+ "D12": {
+ "uuid": "multiplexed-library-tube-4-uuid",
+ "name": "DN13L A10:H12",
+ "state": "started",
+ "label": {
+ "text": "ILC Lib Pool Norm",
+ "prefix": "No PCR (Plate) "
+ },
+ "barcode": {
+ "number": "78",
+ "prefix": "NT",
+ "two_dimensional": null,
+ "ean13": "tube-4-ean13",
+ "type": 2
+ },
+ "stock_plate": {
+ "barcode": {
+ "number": "13",
+ "prefix": "DN",
+ "two_dimensional": null,
+ "ean13": "9876543210987",
+ "type": 1
+ }
+ }
+ },
+ "E1": {
+ "uuid": "multiplexed-library-tube-uuid",
+ "name": "DN13L A1:H3",
+ "state": "pending",
+ "label": {
+ "text": "ILC Lib Pool Norm",
+ "prefix": "No PCR (Plate) "
+ },
+ "barcode": {
+ "number": "72",
+ "prefix": "NT",
+ "two_dimensional": null,
+ "ean13": "tube-1-ean13",
+ "type": 2
+ },
+ "stock_plate": {
+ "barcode": {
+ "number": "13",
+ "prefix": "DN",
+ "two_dimensional": null,
+ "ean13": "9876543210987",
+ "type": 1
+ }
+ }
+ },
+ "E2": {
+ "uuid": "multiplexed-library-tube-uuid",
+ "name": "DN13L A1:H3",
+ "state": "pending",
+ "label": {
+ "text": "ILC Lib Pool Norm",
+ "prefix": "No PCR (Plate) "
+ },
+ "barcode": {
+ "number": "72",
+ "prefix": "NT",
+ "two_dimensional": null,
+ "ean13": "tube-1-ean13",
+ "type": 2
+ },
+ "stock_plate": {
+ "barcode": {
+ "number": "13",
+ "prefix": "DN",
+ "two_dimensional": null,
+ "ean13": "9876543210987",
+ "type": 1
+ }
+ }
+ },
+ "E3": {
+ "uuid": "multiplexed-library-tube-uuid",
+ "name": "DN13L A1:H3",
+ "state": "pending",
+ "label": {
+ "text": "ILC Lib Pool Norm",
+ "prefix": "No PCR (Plate) "
+ },
+ "barcode": {
+ "number": "72",
+ "prefix": "NT",
+ "two_dimensional": null,
+ "ean13": "tube-1-ean13",
+ "type": 2
+ },
+ "stock_plate": {
+ "barcode": {
+ "number": "13",
+ "prefix": "DN",
+ "two_dimensional": null,
+ "ean13": "9876543210987",
+ "type": 1
+ }
+ }
+ },
+ "E4": {
+ "uuid": "multiplexed-library-tube-2-uuid",
+ "name": "DN13L A4:H6",
+ "state": "pending",
+ "label": {
+ "text": "ILC Lib Pool Norm",
+ "prefix": "No PCR (Plate) "
+ },
+ "barcode": {
+ "number": "74",
+ "prefix": "NT",
+ "two_dimensional": null,
+ "ean13": "tube-2-ean13",
+ "type": 2
+ },
+ "stock_plate": {
+ "barcode": {
+ "number": "13",
+ "prefix": "DN",
+ "two_dimensional": null,
+ "ean13": "9876543210987",
+ "type": 1
+ }
+ }
+ },
+ "E5": {
+ "uuid": "multiplexed-library-tube-2-uuid",
+ "name": "DN13L A4:H6",
+ "state": "pending",
+ "label": {
+ "text": "ILC Lib Pool Norm",
+ "prefix": "No PCR (Plate) "
+ },
+ "barcode": {
+ "number": "74",
+ "prefix": "NT",
+ "two_dimensional": null,
+ "ean13": "tube-2-ean13",
+ "type": 2
+ },
+ "stock_plate": {
+ "barcode": {
+ "number": "13",
+ "prefix": "DN",
+ "two_dimensional": null,
+ "ean13": "9876543210987",
+ "type": 1
+ }
+ }
+ },
+ "E6": {
+ "uuid": "multiplexed-library-tube-2-uuid",
+ "name": "DN13L A4:H6",
+ "state": "pending",
+ "label": {
+ "text": "ILC Lib Pool Norm",
+ "prefix": "No PCR (Plate) "
+ },
+ "barcode": {
+ "number": "74",
+ "prefix": "NT",
+ "two_dimensional": null,
+ "ean13": "tube-2-ean13",
+ "type": 2
+ },
+ "stock_plate": {
+ "barcode": {
+ "number": "13",
+ "prefix": "DN",
+ "two_dimensional": null,
+ "ean13": "9876543210987",
+ "type": 1
+ }
+ }
+ },
+ "E7": {
+ "uuid": "multiplexed-library-tube-3-uuid",
+ "name": "DN13L A7:H9",
+ "state": "pending",
+ "label": {
+ "text": "ILC Lib Pool Norm",
+ "prefix": "No PCR (Plate) "
+ },
+ "barcode": {
+ "number": "76",
+ "prefix": "NT",
+ "two_dimensional": null,
+ "ean13": "tube-3-ean13",
+ "type": 2
+ },
+ "stock_plate": {
+ "barcode": {
+ "number": "13",
+ "prefix": "DN",
+ "two_dimensional": null,
+ "ean13": "9876543210987",
+ "type": 1
+ }
+ }
+ },
+ "E8": {
+ "uuid": "multiplexed-library-tube-3-uuid",
+ "name": "DN13L A7:H9",
+ "state": "pending",
+ "label": {
+ "text": "ILC Lib Pool Norm",
+ "prefix": "No PCR (Plate) "
+ },
+ "barcode": {
+ "number": "76",
+ "prefix": "NT",
+ "two_dimensional": null,
+ "ean13": "tube-3-ean13",
+ "type": 2
+ },
+ "stock_plate": {
+ "barcode": {
+ "number": "13",
+ "prefix": "DN",
+ "two_dimensional": null,
+ "ean13": "9876543210987",
+ "type": 1
+ }
+ }
+ },
+ "E9": {
+ "uuid": "multiplexed-library-tube-3-uuid",
+ "name": "DN13L A7:H9",
+ "state": "pending",
+ "label": {
+ "text": "ILC Lib Pool Norm",
+ "prefix": "No PCR (Plate) "
+ },
+ "barcode": {
+ "number": "76",
+ "prefix": "NT",
+ "two_dimensional": null,
+ "ean13": "tube-3-ean13",
+ "type": 2
+ },
+ "stock_plate": {
+ "barcode": {
+ "number": "13",
+ "prefix": "DN",
+ "two_dimensional": null,
+ "ean13": "9876543210987",
+ "type": 1
+ }
+ }
+ },
+ "E10": {
+ "uuid": "multiplexed-library-tube-4-uuid",
+ "name": "DN13L A10:H12",
+ "state": "started",
+ "label": {
+ "text": "ILC Lib Pool Norm",
+ "prefix": "No PCR (Plate) "
+ },
+ "barcode": {
+ "number": "78",
+ "prefix": "NT",
+ "two_dimensional": null,
+ "ean13": "tube-4-ean13",
+ "type": 2
+ },
+ "stock_plate": {
+ "barcode": {
+ "number": "13",
+ "prefix": "DN",
+ "two_dimensional": null,
+ "ean13": "9876543210987",
+ "type": 1
+ }
+ }
+ },
+ "E11": {
+ "uuid": "multiplexed-library-tube-4-uuid",
+ "name": "DN13L A10:H12",
+ "state": "started",
+ "label": {
+ "text": "ILC Lib Pool Norm",
+ "prefix": "No PCR (Plate) "
+ },
+ "barcode": {
+ "number": "78",
+ "prefix": "NT",
+ "two_dimensional": null,
+ "ean13": "tube-4-ean13",
+ "type": 2
+ },
+ "stock_plate": {
+ "barcode": {
+ "number": "13",
+ "prefix": "DN",
+ "two_dimensional": null,
+ "ean13": "9876543210987",
+ "type": 1
+ }
+ }
+ },
+ "E12": {
+ "uuid": "multiplexed-library-tube-4-uuid",
+ "name": "DN13L A10:H12",
+ "state": "started",
+ "label": {
+ "text": "ILC Lib Pool Norm",
+ "prefix": "No PCR (Plate) "
+ },
+ "barcode": {
+ "number": "78",
+ "prefix": "NT",
+ "two_dimensional": null,
+ "ean13": "tube-4-ean13",
+ "type": 2
+ },
+ "stock_plate": {
+ "barcode": {
+ "number": "13",
+ "prefix": "DN",
+ "two_dimensional": null,
+ "ean13": "9876543210987",
+ "type": 1
+ }
+ }
+ },
+ "F1": {
+ "uuid": "multiplexed-library-tube-uuid",
+ "name": "DN13L A1:H3",
+ "state": "pending",
+ "label": {
+ "text": "ILC Lib Pool Norm",
+ "prefix": "No PCR (Plate) "
+ },
+ "barcode": {
+ "number": "72",
+ "prefix": "NT",
+ "two_dimensional": null,
+ "ean13": "tube-1-ean13",
+ "type": 2
+ },
+ "stock_plate": {
+ "barcode": {
+ "number": "13",
+ "prefix": "DN",
+ "two_dimensional": null,
+ "ean13": "9876543210987",
+ "type": 1
+ }
+ }
+ },
+ "F2": {
+ "uuid": "multiplexed-library-tube-uuid",
+ "name": "DN13L A1:H3",
+ "state": "pending",
+ "label": {
+ "text": "ILC Lib Pool Norm",
+ "prefix": "No PCR (Plate) "
+ },
+ "barcode": {
+ "number": "72",
+ "prefix": "NT",
+ "two_dimensional": null,
+ "ean13": "tube-1-ean13",
+ "type": 2
+ },
+ "stock_plate": {
+ "barcode": {
+ "number": "13",
+ "prefix": "DN",
+ "two_dimensional": null,
+ "ean13": "9876543210987",
+ "type": 1
+ }
+ }
+ },
+ "F3": {
+ "uuid": "multiplexed-library-tube-uuid",
+ "name": "DN13L A1:H3",
+ "state": "pending",
+ "label": {
+ "text": "ILC Lib Pool Norm",
+ "prefix": "No PCR (Plate) "
+ },
+ "barcode": {
+ "number": "72",
+ "prefix": "NT",
+ "two_dimensional": null,
+ "ean13": "tube-1-ean13",
+ "type": 2
+ },
+ "stock_plate": {
+ "barcode": {
+ "number": "13",
+ "prefix": "DN",
+ "two_dimensional": null,
+ "ean13": "9876543210987",
+ "type": 1
+ }
+ }
+ },
+ "F4": {
+ "uuid": "multiplexed-library-tube-2-uuid",
+ "name": "DN13L A4:H6",
+ "state": "pending",
+ "label": {
+ "text": "ILC Lib Pool Norm",
+ "prefix": "No PCR (Plate) "
+ },
+ "barcode": {
+ "number": "74",
+ "prefix": "NT",
+ "two_dimensional": null,
+ "ean13": "tube-2-ean13",
+ "type": 2
+ },
+ "stock_plate": {
+ "barcode": {
+ "number": "13",
+ "prefix": "DN",
+ "two_dimensional": null,
+ "ean13": "9876543210987",
+ "type": 1
+ }
+ }
+ },
+ "F5": {
+ "uuid": "multiplexed-library-tube-2-uuid",
+ "name": "DN13L A4:H6",
+ "state": "pending",
+ "label": {
+ "text": "ILC Lib Pool Norm",
+ "prefix": "No PCR (Plate) "
+ },
+ "barcode": {
+ "number": "74",
+ "prefix": "NT",
+ "two_dimensional": null,
+ "ean13": "tube-2-ean13",
+ "type": 2
+ },
+ "stock_plate": {
+ "barcode": {
+ "number": "13",
+ "prefix": "DN",
+ "two_dimensional": null,
+ "ean13": "9876543210987",
+ "type": 1
+ }
+ }
+ },
+ "F6": {
+ "uuid": "multiplexed-library-tube-2-uuid",
+ "name": "DN13L A4:H6",
+ "state": "pending",
+ "label": {
+ "text": "ILC Lib Pool Norm",
+ "prefix": "No PCR (Plate) "
+ },
+ "barcode": {
+ "number": "74",
+ "prefix": "NT",
+ "two_dimensional": null,
+ "ean13": "tube-2-ean13",
+ "type": 2
+ },
+ "stock_plate": {
+ "barcode": {
+ "number": "13",
+ "prefix": "DN",
+ "two_dimensional": null,
+ "ean13": "9876543210987",
+ "type": 1
+ }
+ }
+ },
+ "F7": {
+ "uuid": "multiplexed-library-tube-3-uuid",
+ "name": "DN13L A7:H9",
+ "state": "pending",
+ "label": {
+ "text": "ILC Lib Pool Norm",
+ "prefix": "No PCR (Plate) "
+ },
+ "barcode": {
+ "number": "76",
+ "prefix": "NT",
+ "two_dimensional": null,
+ "ean13": "tube-3-ean13",
+ "type": 2
+ },
+ "stock_plate": {
+ "barcode": {
+ "number": "13",
+ "prefix": "DN",
+ "two_dimensional": null,
+ "ean13": "9876543210987",
+ "type": 1
+ }
+ }
+ },
+ "F8": {
+ "uuid": "multiplexed-library-tube-3-uuid",
+ "name": "DN13L A7:H9",
+ "state": "pending",
+ "label": {
+ "text": "ILC Lib Pool Norm",
+ "prefix": "No PCR (Plate) "
+ },
+ "barcode": {
+ "number": "76",
+ "prefix": "NT",
+ "two_dimensional": null,
+ "ean13": "tube-3-ean13",
+ "type": 2
+ },
+ "stock_plate": {
+ "barcode": {
+ "number": "13",
+ "prefix": "DN",
+ "two_dimensional": null,
+ "ean13": "9876543210987",
+ "type": 1
+ }
+ }
+ },
+ "F9": {
+ "uuid": "multiplexed-library-tube-3-uuid",
+ "name": "DN13L A7:H9",
+ "state": "pending",
+ "label": {
+ "text": "ILC Lib Pool Norm",
+ "prefix": "No PCR (Plate) "
+ },
+ "barcode": {
+ "number": "76",
+ "prefix": "NT",
+ "two_dimensional": null,
+ "ean13": "tube-3-ean13",
+ "type": 2
+ },
+ "stock_plate": {
+ "barcode": {
+ "number": "13",
+ "prefix": "DN",
+ "two_dimensional": null,
+ "ean13": "9876543210987",
+ "type": 1
+ }
+ }
+ },
+ "F10": {
+ "uuid": "multiplexed-library-tube-4-uuid",
+ "name": "DN13L A10:H12",
+ "state": "started",
+ "label": {
+ "text": "ILC Lib Pool Norm",
+ "prefix": "No PCR (Plate) "
+ },
+ "barcode": {
+ "number": "78",
+ "prefix": "NT",
+ "two_dimensional": null,
+ "ean13": "tube-4-ean13",
+ "type": 2
+ },
+ "stock_plate": {
+ "barcode": {
+ "number": "13",
+ "prefix": "DN",
+ "two_dimensional": null,
+ "ean13": "9876543210987",
+ "type": 1
+ }
+ }
+ },
+ "F11": {
+ "uuid": "multiplexed-library-tube-4-uuid",
+ "name": "DN13L A10:H12",
+ "state": "started",
+ "label": {
+ "text": "ILC Lib Pool Norm",
+ "prefix": "No PCR (Plate) "
+ },
+ "barcode": {
+ "number": "78",
+ "prefix": "NT",
+ "two_dimensional": null,
+ "ean13": "tube-4-ean13",
+ "type": 2
+ },
+ "stock_plate": {
+ "barcode": {
+ "number": "13",
+ "prefix": "DN",
+ "two_dimensional": null,
+ "ean13": "9876543210987",
+ "type": 1
+ }
+ }
+ },
+ "F12": {
+ "uuid": "multiplexed-library-tube-4-uuid",
+ "name": "DN13L A10:H12",
+ "state": "started",
+ "label": {
+ "text": "ILC Lib Pool Norm",
+ "prefix": "No PCR (Plate) "
+ },
+ "barcode": {
+ "number": "78",
+ "prefix": "NT",
+ "two_dimensional": null,
+ "ean13": "tube-4-ean13",
+ "type": 2
+ },
+ "stock_plate": {
+ "barcode": {
+ "number": "13",
+ "prefix": "DN",
+ "two_dimensional": null,
+ "ean13": "9876543210987",
+ "type": 1
+ }
+ }
+ },
+ "G1": {
+ "uuid": "multiplexed-library-tube-uuid",
+ "name": "DN13L A1:H3",
+ "state": "pending",
+ "label": {
+ "text": "ILC Lib Pool Norm",
+ "prefix": "No PCR (Plate) "
+ },
+ "barcode": {
+ "number": "72",
+ "prefix": "NT",
+ "two_dimensional": null,
+ "ean13": "tube-1-ean13",
+ "type": 2
+ },
+ "stock_plate": {
+ "barcode": {
+ "number": "13",
+ "prefix": "DN",
+ "two_dimensional": null,
+ "ean13": "9876543210987",
+ "type": 1
+ }
+ }
+ },
+ "G2": {
+ "uuid": "multiplexed-library-tube-uuid",
+ "name": "DN13L A1:H3",
+ "state": "pending",
+ "label": {
+ "text": "ILC Lib Pool Norm",
+ "prefix": "No PCR (Plate) "
+ },
+ "barcode": {
+ "number": "72",
+ "prefix": "NT",
+ "two_dimensional": null,
+ "ean13": "tube-1-ean13",
+ "type": 2
+ },
+ "stock_plate": {
+ "barcode": {
+ "number": "13",
+ "prefix": "DN",
+ "two_dimensional": null,
+ "ean13": "9876543210987",
+ "type": 1
+ }
+ }
+ },
+ "G3": {
+ "uuid": "multiplexed-library-tube-uuid",
+ "name": "DN13L A1:H3",
+ "state": "pending",
+ "label": {
+ "text": "ILC Lib Pool Norm",
+ "prefix": "No PCR (Plate) "
+ },
+ "barcode": {
+ "number": "72",
+ "prefix": "NT",
+ "two_dimensional": null,
+ "ean13": "tube-1-ean13",
+ "type": 2
+ },
+ "stock_plate": {
+ "barcode": {
+ "number": "13",
+ "prefix": "DN",
+ "two_dimensional": null,
+ "ean13": "9876543210987",
+ "type": 1
+ }
+ }
+ },
+ "G4": {
+ "uuid": "multiplexed-library-tube-2-uuid",
+ "name": "DN13L A4:H6",
+ "state": "pending",
+ "label": {
+ "text": "ILC Lib Pool Norm",
+ "prefix": "No PCR (Plate) "
+ },
+ "barcode": {
+ "number": "74",
+ "prefix": "NT",
+ "two_dimensional": null,
+ "ean13": "tube-2-ean13",
+ "type": 2
+ },
+ "stock_plate": {
+ "barcode": {
+ "number": "13",
+ "prefix": "DN",
+ "two_dimensional": null,
+ "ean13": "9876543210987",
+ "type": 1
+ }
+ }
+ },
+ "G5": {
+ "uuid": "multiplexed-library-tube-2-uuid",
+ "name": "DN13L A4:H6",
+ "state": "pending",
+ "label": {
+ "text": "ILC Lib Pool Norm",
+ "prefix": "No PCR (Plate) "
+ },
+ "barcode": {
+ "number": "74",
+ "prefix": "NT",
+ "two_dimensional": null,
+ "ean13": "tube-2-ean13",
+ "type": 2
+ },
+ "stock_plate": {
+ "barcode": {
+ "number": "13",
+ "prefix": "DN",
+ "two_dimensional": null,
+ "ean13": "9876543210987",
+ "type": 1
+ }
+ }
+ },
+ "G6": {
+ "uuid": "multiplexed-library-tube-2-uuid",
+ "name": "DN13L A4:H6",
+ "state": "pending",
+ "label": {
+ "text": "ILC Lib Pool Norm",
+ "prefix": "No PCR (Plate) "
+ },
+ "barcode": {
+ "number": "74",
+ "prefix": "NT",
+ "two_dimensional": null,
+ "ean13": "tube-2-ean13",
+ "type": 2
+ },
+ "stock_plate": {
+ "barcode": {
+ "number": "13",
+ "prefix": "DN",
+ "two_dimensional": null,
+ "ean13": "9876543210987",
+ "type": 1
+ }
+ }
+ },
+ "G7": {
+ "uuid": "multiplexed-library-tube-3-uuid",
+ "name": "DN13L A7:H9",
+ "state": "pending",
+ "label": {
+ "text": "ILC Lib Pool Norm",
+ "prefix": "No PCR (Plate) "
+ },
+ "barcode": {
+ "number": "76",
+ "prefix": "NT",
+ "two_dimensional": null,
+ "ean13": "tube-3-ean13",
+ "type": 2
+ },
+ "stock_plate": {
+ "barcode": {
+ "number": "13",
+ "prefix": "DN",
+ "two_dimensional": null,
+ "ean13": "9876543210987",
+ "type": 1
+ }
+ }
+ },
+ "G8": {
+ "uuid": "multiplexed-library-tube-3-uuid",
+ "name": "DN13L A7:H9",
+ "state": "pending",
+ "label": {
+ "text": "ILC Lib Pool Norm",
+ "prefix": "No PCR (Plate) "
+ },
+ "barcode": {
+ "number": "76",
+ "prefix": "NT",
+ "two_dimensional": null,
+ "ean13": "tube-3-ean13",
+ "type": 2
+ },
+ "stock_plate": {
+ "barcode": {
+ "number": "13",
+ "prefix": "DN",
+ "two_dimensional": null,
+ "ean13": "9876543210987",
+ "type": 1
+ }
+ }
+ },
+ "G9": {
+ "uuid": "multiplexed-library-tube-3-uuid",
+ "name": "DN13L A7:H9",
+ "state": "pending",
+ "label": {
+ "text": "ILC Lib Pool Norm",
+ "prefix": "No PCR (Plate) "
+ },
+ "barcode": {
+ "number": "76",
+ "prefix": "NT",
+ "two_dimensional": null,
+ "ean13": "tube-3-ean13",
+ "type": 2
+ },
+ "stock_plate": {
+ "barcode": {
+ "number": "13",
+ "prefix": "DN",
+ "two_dimensional": null,
+ "ean13": "9876543210987",
+ "type": 1
+ }
+ }
+ },
+ "G10": {
+ "uuid": "multiplexed-library-tube-4-uuid",
+ "name": "DN13L A10:H12",
+ "state": "started",
+ "label": {
+ "text": "ILC Lib Pool Norm",
+ "prefix": "No PCR (Plate) "
+ },
+ "barcode": {
+ "number": "78",
+ "prefix": "NT",
+ "two_dimensional": null,
+ "ean13": "tube-4-ean13",
+ "type": 2
+ },
+ "stock_plate": {
+ "barcode": {
+ "number": "13",
+ "prefix": "DN",
+ "two_dimensional": null,
+ "ean13": "9876543210987",
+ "type": 1
+ }
+ }
+ },
+ "G11": {
+ "uuid": "multiplexed-library-tube-4-uuid",
+ "name": "DN13L A10:H12",
+ "state": "started",
+ "label": {
+ "text": "ILC Lib Pool Norm",
+ "prefix": "No PCR (Plate) "
+ },
+ "barcode": {
+ "number": "78",
+ "prefix": "NT",
+ "two_dimensional": null,
+ "ean13": "tube-4-ean13",
+ "type": 2
+ },
+ "stock_plate": {
+ "barcode": {
+ "number": "13",
+ "prefix": "DN",
+ "two_dimensional": null,
+ "ean13": "9876543210987",
+ "type": 1
+ }
+ }
+ },
+ "G12": {
+ "uuid": "multiplexed-library-tube-4-uuid",
+ "name": "DN13L A10:H12",
+ "state": "started",
+ "label": {
+ "text": "ILC Lib Pool Norm",
+ "prefix": "No PCR (Plate) "
+ },
+ "barcode": {
+ "number": "78",
+ "prefix": "NT",
+ "two_dimensional": null,
+ "ean13": "tube-4-ean13",
+ "type": 2
+ },
+ "stock_plate": {
+ "barcode": {
+ "number": "13",
+ "prefix": "DN",
+ "two_dimensional": null,
+ "ean13": "9876543210987",
+ "type": 1
+ }
+ }
+ },
+ "H1": {
+ "uuid": "multiplexed-library-tube-uuid",
+ "name": "DN13L A1:H3",
+ "state": "pending",
+ "label": {
+ "text": "ILC Lib Pool Norm",
+ "prefix": "No PCR (Plate) "
+ },
+ "barcode": {
+ "number": "72",
+ "prefix": "NT",
+ "two_dimensional": null,
+ "ean13": "tube-1-ean13",
+ "type": 2
+ },
+ "stock_plate": {
+ "barcode": {
+ "number": "13",
+ "prefix": "DN",
+ "two_dimensional": null,
+ "ean13": "9876543210987",
+ "type": 1
+ }
+ }
+ },
+ "H2": {
+ "uuid": "multiplexed-library-tube-uuid",
+ "name": "DN13L A1:H3",
+ "state": "pending",
+ "label": {
+ "text": "ILC Lib Pool Norm",
+ "prefix": "No PCR (Plate) "
+ },
+ "barcode": {
+ "number": "72",
+ "prefix": "NT",
+ "two_dimensional": null,
+ "ean13": "tube-1-ean13",
+ "type": 2
+ },
+ "stock_plate": {
+ "barcode": {
+ "number": "13",
+ "prefix": "DN",
+ "two_dimensional": null,
+ "ean13": "9876543210987",
+ "type": 1
+ }
+ }
+ },
+ "H3": {
+ "uuid": "multiplexed-library-tube-uuid",
+ "name": "DN13L A1:H3",
+ "state": "pending",
+ "label": {
+ "text": "ILC Lib Pool Norm",
+ "prefix": "No PCR (Plate) "
+ },
+ "barcode": {
+ "number": "72",
+ "prefix": "NT",
+ "two_dimensional": null,
+ "ean13": "tube-1-ean13",
+ "type": 2
+ },
+ "stock_plate": {
+ "barcode": {
+ "number": "13",
+ "prefix": "DN",
+ "two_dimensional": null,
+ "ean13": "9876543210987",
+ "type": 1
+ }
+ }
+ },
+ "H4": {
+ "uuid": "multiplexed-library-tube-2-uuid",
+ "name": "DN13L A4:H6",
+ "state": "pending",
+ "label": {
+ "text": "ILC Lib Pool Norm",
+ "prefix": "No PCR (Plate) "
+ },
+ "barcode": {
+ "number": "74",
+ "prefix": "NT",
+ "two_dimensional": null,
+ "ean13": "tube-2-ean13",
+ "type": 2
+ },
+ "stock_plate": {
+ "barcode": {
+ "number": "13",
+ "prefix": "DN",
+ "two_dimensional": null,
+ "ean13": "9876543210987",
+ "type": 1
+ }
+ }
+ },
+ "H5": {
+ "uuid": "multiplexed-library-tube-2-uuid",
+ "name": "DN13L A4:H6",
+ "state": "pending",
+ "label": {
+ "text": "ILC Lib Pool Norm",
+ "prefix": "No PCR (Plate) "
+ },
+ "barcode": {
+ "number": "74",
+ "prefix": "NT",
+ "two_dimensional": null,
+ "ean13": "tube-2-ean13",
+ "type": 2
+ },
+ "stock_plate": {
+ "barcode": {
+ "number": "13",
+ "prefix": "DN",
+ "two_dimensional": null,
+ "ean13": "9876543210987",
+ "type": 1
+ }
+ }
+ },
+ "H6": {
+ "uuid": "multiplexed-library-tube-2-uuid",
+ "name": "DN13L A4:H6",
+ "state": "pending",
+ "label": {
+ "text": "ILC Lib Pool Norm",
+ "prefix": "No PCR (Plate) "
+ },
+ "barcode": {
+ "number": "74",
+ "prefix": "NT",
+ "two_dimensional": null,
+ "ean13": "tube-2-ean13",
+ "type": 2
+ },
+ "stock_plate": {
+ "barcode": {
+ "number": "13",
+ "prefix": "DN",
+ "two_dimensional": null,
+ "ean13": "9876543210987",
+ "type": 1
+ }
+ }
+ },
+ "H7": {
+ "uuid": "multiplexed-library-tube-3-uuid",
+ "name": "DN13L A7:H9",
+ "state": "pending",
+ "label": {
+ "text": "ILC Lib Pool Norm",
+ "prefix": "No PCR (Plate) "
+ },
+ "barcode": {
+ "number": "76",
+ "prefix": "NT",
+ "two_dimensional": null,
+ "ean13": "tube-3-ean13",
+ "type": 2
+ },
+ "stock_plate": {
+ "barcode": {
+ "number": "13",
+ "prefix": "DN",
+ "two_dimensional": null,
+ "ean13": "9876543210987",
+ "type": 1
+ }
+ }
+ },
+ "H8": {
+ "uuid": "multiplexed-library-tube-3-uuid",
+ "name": "DN13L A7:H9",
+ "state": "pending",
+ "label": {
+ "text": "ILC Lib Pool Norm",
+ "prefix": "No PCR (Plate) "
+ },
+ "barcode": {
+ "number": "76",
+ "prefix": "NT",
+ "two_dimensional": null,
+ "ean13": "tube-3-ean13",
+ "type": 2
+ },
+ "stock_plate": {
+ "barcode": {
+ "number": "13",
+ "prefix": "DN",
+ "two_dimensional": null,
+ "ean13": "9876543210987",
+ "type": 1
+ }
+ }
+ },
+ "H9": {
+ "uuid": "multiplexed-library-tube-3-uuid",
+ "name": "DN13L A7:H9",
+ "state": "pending",
+ "label": {
+ "text": "ILC Lib Pool Norm",
+ "prefix": "No PCR (Plate) "
+ },
+ "barcode": {
+ "number": "76",
+ "prefix": "NT",
+ "two_dimensional": null,
+ "ean13": "tube-3-ean13",
+ "type": 2
+ },
+ "stock_plate": {
+ "barcode": {
+ "number": "13",
+ "prefix": "DN",
+ "two_dimensional": null,
+ "ean13": "9876543210987",
+ "type": 1
+ }
+ }
+ },
+ "H10": {
+ "uuid": "multiplexed-library-tube-4-uuid",
+ "name": "DN13L A10:H12",
+ "state": "started",
+ "label": {
+ "text": "ILC Lib Pool Norm",
+ "prefix": "No PCR (Plate) "
+ },
+ "barcode": {
+ "number": "78",
+ "prefix": "NT",
+ "two_dimensional": null,
+ "ean13": "tube-4-ean13",
+ "type": 2
+ },
+ "stock_plate": {
+ "barcode": {
+ "number": "13",
+ "prefix": "DN",
+ "two_dimensional": null,
+ "ean13": "9876543210987",
+ "type": 1
+ }
+ }
+ },
+ "H11": {
+ "uuid": "multiplexed-library-tube-4-uuid",
+ "name": "DN13L A10:H12",
+ "state": "started",
+ "label": {
+ "text": "ILC Lib Pool Norm",
+ "prefix": "No PCR (Plate) "
+ },
+ "barcode": {
+ "number": "78",
+ "prefix": "NT",
+ "two_dimensional": null,
+ "ean13": "tube-4-ean13",
+ "type": 2
+ },
+ "stock_plate": {
+ "barcode": {
+ "number": "13",
+ "prefix": "DN",
+ "two_dimensional": null,
+ "ean13": "9876543210987",
+ "type": 1
+ }
+ }
+ },
+ "H12": {
+ "uuid": "multiplexed-library-tube-4-uuid",
+ "name": "DN13L A10:H12",
+ "state": "started",
+ "label": {
+ "text": "ILC Lib Pool Norm",
+ "prefix": "No PCR (Plate) "
+ },
+ "barcode": {
+ "number": "78",
+ "prefix": "NT",
+ "two_dimensional": null,
+ "ean13": "tube-4-ean13",
+ "type": 2
+ },
+ "stock_plate": {
+ "barcode": {
+ "number": "13",
+ "prefix": "DN",
+ "two_dimensional": null,
+ "ean13": "9876543210987",
+ "type": 1
+ }
+ }
+ }
+ },
+ "user": "user-uuid"
+ }
+ ]
+}
\ No newline at end of file
diff --git a/spec/contracts/final-plate-uuid.txt b/spec/contracts/final-plate-uuid.txt
new file mode 100644
index 0000000..6d0e779
--- /dev/null
+++ b/spec/contracts/final-plate-uuid.txt
@@ -0,0 +1,246 @@
+HTTP/1.1 200 OK
+Content-Type: application/json
+
+{
+ "plate": {
+ "created_at": "2016-09-16 10:14:03 +0100",
+ "updated_at": "2016-09-16 10:14:04 +0100",
+ "comments": {
+ "size": 0,
+ "actions": {
+ "read": "http://localhost:3000/final-plate-uuid/comments",
+ "create": "http://localhost:3000/final-plate-uuid/comments"
+ }
+ },
+ "wells": {
+ "size": 96,
+ "actions": {
+ "read": "http://localhost:3000/final-plate-uuid/wells"
+ }
+ },
+ "submission_pools": {
+ "size": 4,
+ "actions": {
+ "read": "http://localhost:3000/final-plate-uuid/submission_pools"
+ }
+ },
+ "requests": {
+ "size": 0,
+ "actions": {
+ "read": "http://localhost:3000/final-plate-uuid/requests"
+ }
+ },
+ "qc_files": {
+ "size": 0,
+ "actions": {
+ "read": "http://localhost:3000/final-plate-uuid/qc_files",
+ "create": "http://localhost:3000/final-plate-uuid/qc_files"
+ }
+ },
+ "source_transfers": {
+ "size": 1,
+ "actions": {
+ "read": "http://localhost:3000/final-plate-uuid/source_transfers"
+ }
+ },
+ "transfers_to_tubes": {
+ "size": 1,
+ "actions": {
+ "read": "http://localhost:3000/final-plate-uuid/transfers_to_tubes"
+ }
+ },
+ "creation_transfers": {
+ "size": 1,
+ "actions": {
+ "read": "http://localhost:3000/final-plate-uuid/creation_transfers"
+ }
+ },
+ "plate_purpose": {
+ "actions": {
+ "read": "http://localhost:3000/ilc-al-libs-tagged-uuid"
+ },
+ "uuid": "ilc-al-libs-tagged-uuid",
+ "lifespan": null,
+ "name": "ILC AL Libs Tagged"
+ },
+ "actions": {
+ "read": "http://localhost:3000/final-plate-uuid"
+ },
+ "uuid": "final-plate-uuid",
+ "name": "Plate number",
+ "qc_state": null,
+ "barcode": {
+ "ean13": "0123456789012",
+ "number": "number",
+ "prefix": "DN",
+ "two_dimensional": null,
+ "type": 1
+ },
+ "iteration": 1,
+ "label": {
+ "prefix": "No PCR (Plate) ",
+ "text": "ILC AL Libs Tagged"
+ },
+ "location": "Library creation freezer",
+ "pools": {
+ "submission-1-uuid": {
+ "wells": [
+ "A4",
+ "A5",
+ "A6",
+ "B4",
+ "B5",
+ "B6",
+ "C4",
+ "C5",
+ "C6",
+ "D4",
+ "D5",
+ "D6",
+ "E4",
+ "E5",
+ "E6",
+ "F4",
+ "F5",
+ "F6",
+ "G4",
+ "G5",
+ "G6",
+ "H4",
+ "H5",
+ "H6"
+ ],
+ "insert_size": {
+ "from": 100,
+ "to": 150
+ },
+ "library_type": {
+ "name": "No PCR (Plate)"
+ },
+ "request_type": "Illumina-C Library Creation No PCR"
+ },
+ "submission-2-uuid": {
+ "wells": [
+ "A7",
+ "A8",
+ "A9",
+ "B7",
+ "B8",
+ "B9",
+ "C7",
+ "C8",
+ "C9",
+ "D7",
+ "D8",
+ "D9",
+ "E7",
+ "E8",
+ "E9",
+ "F7",
+ "F8",
+ "F9",
+ "G7",
+ "G8",
+ "G9",
+ "H7",
+ "H8",
+ "H9"
+ ],
+ "insert_size": {
+ "from": 100,
+ "to": 150
+ },
+ "library_type": {
+ "name": "No PCR (Plate)"
+ },
+ "request_type": "Illumina-C Library Creation No PCR"
+ },
+ "submission-3-uuid": {
+ "wells": [
+ "A10",
+ "A11",
+ "A12",
+ "B10",
+ "B11",
+ "B12",
+ "C10",
+ "C11",
+ "C12",
+ "D10",
+ "D11",
+ "D12",
+ "E10",
+ "E11",
+ "E12",
+ "F10",
+ "F11",
+ "F12",
+ "G10",
+ "G11",
+ "G12",
+ "H10",
+ "H11",
+ "H12"
+ ],
+ "insert_size": {
+ "from": 100,
+ "to": 150
+ },
+ "library_type": {
+ "name": "No PCR (Plate)"
+ },
+ "request_type": "Illumina-C Library Creation No PCR"
+ },
+ "submission-4-uuid": {
+ "wells": [
+ "A1",
+ "A2",
+ "A3",
+ "B1",
+ "B2",
+ "B3",
+ "C1",
+ "C2",
+ "C3",
+ "D1",
+ "D2",
+ "D3",
+ "E1",
+ "E2",
+ "E3",
+ "F1",
+ "F2",
+ "F3",
+ "G1",
+ "G2",
+ "G3",
+ "H1",
+ "H2",
+ "H3"
+ ],
+ "insert_size": {
+ "from": 100,
+ "to": 150
+ },
+ "library_type": {
+ "name": "No PCR (Plate)"
+ },
+ "request_type": "Illumina-C Library Creation No PCR"
+ }
+ },
+ "pre_cap_groups": {},
+ "priority": 0,
+ "size": 96,
+ "state": "qc_complete",
+ "stock_plate": {
+ "barcode": {
+ "ean13": "9876543210987",
+ "number": "12",
+ "prefix": "DN",
+ "two_dimensional": null,
+ "type": 1
+ },
+ "uuid": "stock-plate-uuid"
+ }
+ }
+}
\ No newline at end of file
diff --git a/spec/contracts/final-plate-wells.txt b/spec/contracts/final-plate-wells.txt
new file mode 100644
index 0000000..6c995da
--- /dev/null
+++ b/spec/contracts/final-plate-wells.txt
@@ -0,0 +1,3433 @@
+HTTP/1.1 200 OK
+Content-Type: application/json
+
+{
+ "actions": {
+ "read": "http://localhost:3000/final-plate-uuid/wells/1",
+ "first": "http://localhost:3000/final-plate-uuid/wells/1",
+ "last": "http://localhost:3000/final-plate-uuid/wells/1"
+ },
+ "size": 30,
+ "wells": [
+ {
+ "created_at": "2016-01-21 16:07:44 +0000",
+ "updated_at": "2016-01-21 16:08:28 +0000",
+ "plate": {
+ "actions": {
+ "read": "http://localhost:3000/final-plate-uuid"
+ },
+ "uuid": "final-plate-uuid"
+ },
+ "actions": {
+ "read": "http://localhost:3000/well-1-uuid"
+ },
+ "uuid": "well-1-uuid",
+ "aliquots": [
+ {
+ "created_at": "2016-01-21 16:07:46 +0000",
+ "updated_at": "2016-01-21 16:07:46 +0000",
+ "bait_library": null,
+ "insert_size": {},
+ "sample": {
+ "created_at": "2015-12-04 14:25:35 +0000",
+ "updated_at": "2016-01-13 11:43:58 +0000",
+ "actions": {
+ "read": "http://localhost:3000/sample-1-uuid"
+ },
+ "uuid": "sample-1-uuid",
+ "data_release": {
+ "accession_number": null,
+ "description": null,
+ "managed": {
+ "disease": null,
+ "subject": null,
+ "treatment": null
+ },
+ "metagenomics": {
+ "age": null,
+ "cell_type": null,
+ "compound": null,
+ "developmental_stage": null,
+ "disease": null,
+ "disease_state": null,
+ "dose": null,
+ "genotype": null,
+ "growth_condition": null,
+ "immunoprecipitate": null,
+ "organism_part": null,
+ "phenotype": null,
+ "rnai": null,
+ "subject": null,
+ "time_point": null,
+ "treatment": null
+ },
+ "public_name": null,
+ "sample_type": null,
+ "visibility": null
+ },
+ "family": {
+ "father": null,
+ "mother": null,
+ "replicate": null,
+ "sibling": null
+ },
+ "reference": {
+ "genome": "Not suitable for alignment"
+ },
+ "sanger": {
+ "description": null,
+ "name": "sample_1",
+ "resubmitted": false,
+ "sample_id": "sample_1"
+ },
+ "source": {
+ "cohort": null,
+ "control": false,
+ "country": null,
+ "dna_source": "Tissue",
+ "ethnicity": null,
+ "region": null
+ },
+ "supplier": {
+ "collection": {
+ "date": null
+ },
+ "extraction": {
+ "date": null,
+ "method": null
+ },
+ "measurements": {
+ "concentration": "21.4",
+ "concentration_determined_by": null,
+ "gc_content": null,
+ "gender": null,
+ "volume": "60"
+ },
+ "purification": {
+ "method": null,
+ "purified": null
+ },
+ "sample_name": "GSA1",
+ "storage_conditions": null
+ },
+ "taxonomy": {
+ "common_name": "Onychomys torridus",
+ "id": 38674,
+ "organism": null,
+ "strain": null
+ }
+ },
+ "tag": {}
+ }
+ ],
+ "location": "A1",
+ "state": "passed"
+ },
+ {
+ "created_at": "2016-01-21 16:07:44 +0000",
+ "updated_at": "2016-01-21 16:08:28 +0000",
+ "plate": {
+ "actions": {
+ "read": "http://localhost:3000/final-plate-uuid"
+ },
+ "uuid": "final-plate-uuid"
+ },
+ "actions": {
+ "read": "http://localhost:3000/well-2-uuid"
+ },
+ "uuid": "well-2-uuid",
+ "aliquots": [
+ {
+ "created_at": "2016-01-21 16:07:47 +0000",
+ "updated_at": "2016-01-21 16:07:47 +0000",
+ "bait_library": null,
+ "insert_size": {},
+ "sample": {
+ "created_at": "2015-12-04 14:25:35 +0000",
+ "updated_at": "2016-01-13 11:43:58 +0000",
+ "actions": {
+ "read": "http://localhost:3000/sample-2-uuid"
+ },
+ "uuid": "sample-2-uuid",
+ "data_release": {
+ "accession_number": null,
+ "description": null,
+ "managed": {
+ "disease": null,
+ "subject": null,
+ "treatment": null
+ },
+ "metagenomics": {
+ "age": null,
+ "cell_type": null,
+ "compound": null,
+ "developmental_stage": null,
+ "disease": null,
+ "disease_state": null,
+ "dose": null,
+ "genotype": null,
+ "growth_condition": null,
+ "immunoprecipitate": null,
+ "organism_part": null,
+ "phenotype": null,
+ "rnai": null,
+ "subject": null,
+ "time_point": null,
+ "treatment": null
+ },
+ "public_name": null,
+ "sample_type": null,
+ "visibility": null
+ },
+ "family": {
+ "father": null,
+ "mother": null,
+ "replicate": null,
+ "sibling": null
+ },
+ "reference": {
+ "genome": "Not suitable for alignment"
+ },
+ "sanger": {
+ "description": null,
+ "name": "sample_2",
+ "resubmitted": false,
+ "sample_id": "sample_2"
+ },
+ "source": {
+ "cohort": null,
+ "control": false,
+ "country": null,
+ "dna_source": "Tissue",
+ "ethnicity": null,
+ "region": null
+ },
+ "supplier": {
+ "collection": {
+ "date": null
+ },
+ "extraction": {
+ "date": null,
+ "method": null
+ },
+ "measurements": {
+ "concentration": "14.1",
+ "concentration_determined_by": null,
+ "gc_content": null,
+ "gender": null,
+ "volume": "60"
+ },
+ "purification": {
+ "method": null,
+ "purified": null
+ },
+ "sample_name": "GDP2",
+ "storage_conditions": null
+ },
+ "taxonomy": {
+ "common_name": "Onychomys torridus",
+ "id": 38674,
+ "organism": null,
+ "strain": null
+ }
+ },
+ "tag": {}
+ }
+ ],
+ "location": "A2",
+ "state": "passed"
+ },
+ {
+ "created_at": "2016-01-21 16:07:45 +0000",
+ "updated_at": "2016-01-21 16:08:28 +0000",
+ "plate": {
+ "actions": {
+ "read": "http://localhost:3000/final-plate-uuid"
+ },
+ "uuid": "final-plate-uuid"
+ },
+ "actions": {
+ "read": "http://localhost:3000/well-3-uuid"
+ },
+ "uuid": "well-3-uuid",
+ "aliquots": [
+ {
+ "created_at": "2016-01-21 16:07:48 +0000",
+ "updated_at": "2016-01-21 16:07:48 +0000",
+ "bait_library": null,
+ "insert_size": {},
+ "sample": {
+ "created_at": "2015-12-04 14:25:35 +0000",
+ "updated_at": "2016-01-13 11:43:58 +0000",
+ "actions": {
+ "read": "http://localhost:3000/sample-3-uuid"
+ },
+ "uuid": "sample-3-uuid",
+ "data_release": {
+ "accession_number": null,
+ "description": null,
+ "managed": {
+ "disease": null,
+ "subject": null,
+ "treatment": null
+ },
+ "metagenomics": {
+ "age": null,
+ "cell_type": null,
+ "compound": null,
+ "developmental_stage": null,
+ "disease": null,
+ "disease_state": null,
+ "dose": null,
+ "genotype": null,
+ "growth_condition": null,
+ "immunoprecipitate": null,
+ "organism_part": null,
+ "phenotype": null,
+ "rnai": null,
+ "subject": null,
+ "time_point": null,
+ "treatment": null
+ },
+ "public_name": null,
+ "sample_type": null,
+ "visibility": null
+ },
+ "family": {
+ "father": null,
+ "mother": null,
+ "replicate": null,
+ "sibling": null
+ },
+ "reference": {
+ "genome": "Not suitable for alignment"
+ },
+ "sanger": {
+ "description": null,
+ "name": "sample_3",
+ "resubmitted": false,
+ "sample_id": "sample_3"
+ },
+ "source": {
+ "cohort": null,
+ "control": false,
+ "country": null,
+ "dna_source": "Tissue",
+ "ethnicity": null,
+ "region": null
+ },
+ "supplier": {
+ "collection": {
+ "date": null
+ },
+ "extraction": {
+ "date": null,
+ "method": null
+ },
+ "measurements": {
+ "concentration": "22.2",
+ "concentration_determined_by": null,
+ "gc_content": null,
+ "gender": null,
+ "volume": "60"
+ },
+ "purification": {
+ "method": null,
+ "purified": null
+ },
+ "sample_name": "SP1",
+ "storage_conditions": null
+ },
+ "taxonomy": {
+ "common_name": "Mus musculus",
+ "id": 10090,
+ "organism": null,
+ "strain": null
+ }
+ },
+ "tag": {}
+ }
+ ],
+ "location": "A3",
+ "state": "passed"
+ },
+ {
+ "created_at": "2016-01-21 16:07:45 +0000",
+ "updated_at": "2016-01-21 16:08:28 +0000",
+ "plate": {
+ "actions": {
+ "read": "http://localhost:3000/final-plate-uuid"
+ },
+ "uuid": "final-plate-uuid"
+ },
+ "actions": {
+ "read": "http://localhost:3000/well-4-uuid"
+ },
+ "uuid": "well-4-uuid",
+ "aliquots": [
+ {
+ "created_at": "2016-01-21 16:07:49 +0000",
+ "updated_at": "2016-01-21 16:07:49 +0000",
+ "bait_library": null,
+ "insert_size": {},
+ "sample": {
+ "created_at": "2015-12-04 14:25:36 +0000",
+ "updated_at": "2016-01-13 11:43:59 +0000",
+ "actions": {
+ "read": "http://localhost:3000/sample-4-uuid"
+ },
+ "uuid": "sample-4-uuid",
+ "data_release": {
+ "accession_number": null,
+ "description": null,
+ "managed": {
+ "disease": null,
+ "subject": null,
+ "treatment": null
+ },
+ "metagenomics": {
+ "age": null,
+ "cell_type": null,
+ "compound": null,
+ "developmental_stage": null,
+ "disease": null,
+ "disease_state": null,
+ "dose": null,
+ "genotype": null,
+ "growth_condition": null,
+ "immunoprecipitate": null,
+ "organism_part": null,
+ "phenotype": null,
+ "rnai": null,
+ "subject": null,
+ "time_point": null,
+ "treatment": null
+ },
+ "public_name": null,
+ "sample_type": null,
+ "visibility": null
+ },
+ "family": {
+ "father": null,
+ "mother": null,
+ "replicate": null,
+ "sibling": null
+ },
+ "reference": {
+ "genome": "Not suitable for alignment"
+ },
+ "sanger": {
+ "description": null,
+ "name": "sample_4",
+ "resubmitted": false,
+ "sample_id": "sample_4"
+ },
+ "source": {
+ "cohort": null,
+ "control": false,
+ "country": null,
+ "dna_source": "Tissue",
+ "ethnicity": null,
+ "region": null
+ },
+ "supplier": {
+ "collection": {
+ "date": null
+ },
+ "extraction": {
+ "date": null,
+ "method": null
+ },
+ "measurements": {
+ "concentration": "17.9",
+ "concentration_determined_by": null,
+ "gc_content": null,
+ "gender": null,
+ "volume": "60"
+ },
+ "purification": {
+ "method": null,
+ "purified": null
+ },
+ "sample_name": "B2",
+ "storage_conditions": null
+ },
+ "taxonomy": {
+ "common_name": "Mus musculus",
+ "id": 10090,
+ "organism": null,
+ "strain": null
+ }
+ },
+ "tag": {}
+ }
+ ],
+ "location": "A4",
+ "state": "passed"
+ },
+ {
+ "created_at": "2016-01-21 16:07:44 +0000",
+ "updated_at": "2016-01-21 16:08:28 +0000",
+ "plate": {
+ "actions": {
+ "read": "http://localhost:3000/final-plate-uuid"
+ },
+ "uuid": "final-plate-uuid"
+ },
+ "actions": {
+ "read": "http://localhost:3000/well-5-uuid"
+ },
+ "uuid": "well-5-uuid",
+ "aliquots": [
+ {
+ "created_at": "2016-01-21 16:07:46 +0000",
+ "updated_at": "2016-01-21 16:07:46 +0000",
+ "bait_library": null,
+ "insert_size": {},
+ "sample": {
+ "created_at": "2015-12-04 14:25:35 +0000",
+ "updated_at": "2016-01-13 11:43:58 +0000",
+ "actions": {
+ "read": "http://localhost:3000/sample-5-uuid"
+ },
+ "uuid": "sample-5-uuid",
+ "data_release": {
+ "accession_number": null,
+ "description": null,
+ "managed": {
+ "disease": null,
+ "subject": null,
+ "treatment": null
+ },
+ "metagenomics": {
+ "age": null,
+ "cell_type": null,
+ "compound": null,
+ "developmental_stage": null,
+ "disease": null,
+ "disease_state": null,
+ "dose": null,
+ "genotype": null,
+ "growth_condition": null,
+ "immunoprecipitate": null,
+ "organism_part": null,
+ "phenotype": null,
+ "rnai": null,
+ "subject": null,
+ "time_point": null,
+ "treatment": null
+ },
+ "public_name": null,
+ "sample_type": null,
+ "visibility": null
+ },
+ "family": {
+ "father": null,
+ "mother": null,
+ "replicate": null,
+ "sibling": null
+ },
+ "reference": {
+ "genome": "Not suitable for alignment"
+ },
+ "sanger": {
+ "description": null,
+ "name": "sample_5",
+ "resubmitted": false,
+ "sample_id": "sample_5"
+ },
+ "source": {
+ "cohort": null,
+ "control": false,
+ "country": null,
+ "dna_source": "Tissue",
+ "ethnicity": null,
+ "region": null
+ },
+ "supplier": {
+ "collection": {
+ "date": null
+ },
+ "extraction": {
+ "date": null,
+ "method": null
+ },
+ "measurements": {
+ "concentration": "25.6",
+ "concentration_determined_by": null,
+ "gc_content": null,
+ "gender": null,
+ "volume": "60"
+ },
+ "purification": {
+ "method": null,
+ "purified": null
+ },
+ "sample_name": "GSP1",
+ "storage_conditions": null
+ },
+ "taxonomy": {
+ "common_name": "Onychomys torridus",
+ "id": 38674,
+ "organism": null,
+ "strain": null
+ }
+ },
+ "tag": {}
+ }
+ ],
+ "location": "B1",
+ "state": "passed"
+ },
+ {
+ "created_at": "2016-01-21 16:07:44 +0000",
+ "updated_at": "2016-01-21 16:08:28 +0000",
+ "plate": {
+ "actions": {
+ "read": "http://localhost:3000/final-plate-uuid"
+ },
+ "uuid": "final-plate-uuid"
+ },
+ "actions": {
+ "read": "http://localhost:3000/well-6-uuid"
+ },
+ "uuid": "well-6-uuid",
+ "aliquots": [
+ {
+ "created_at": "2016-01-21 16:07:47 +0000",
+ "updated_at": "2016-01-21 16:07:47 +0000",
+ "bait_library": null,
+ "insert_size": {},
+ "sample": {
+ "created_at": "2015-12-04 14:25:35 +0000",
+ "updated_at": "2016-01-13 11:43:58 +0000",
+ "actions": {
+ "read": "http://localhost:3000/sample-6-uuid"
+ },
+ "uuid": "sample-6-uuid",
+ "data_release": {
+ "accession_number": null,
+ "description": null,
+ "managed": {
+ "disease": null,
+ "subject": null,
+ "treatment": null
+ },
+ "metagenomics": {
+ "age": null,
+ "cell_type": null,
+ "compound": null,
+ "developmental_stage": null,
+ "disease": null,
+ "disease_state": null,
+ "dose": null,
+ "genotype": null,
+ "growth_condition": null,
+ "immunoprecipitate": null,
+ "organism_part": null,
+ "phenotype": null,
+ "rnai": null,
+ "subject": null,
+ "time_point": null,
+ "treatment": null
+ },
+ "public_name": null,
+ "sample_type": null,
+ "visibility": null
+ },
+ "family": {
+ "father": null,
+ "mother": null,
+ "replicate": null,
+ "sibling": null
+ },
+ "reference": {
+ "genome": "Not suitable for alignment"
+ },
+ "sanger": {
+ "description": null,
+ "name": "sample_6",
+ "resubmitted": false,
+ "sample_id": "sample_6"
+ },
+ "source": {
+ "cohort": null,
+ "control": false,
+ "country": null,
+ "dna_source": "Tissue",
+ "ethnicity": null,
+ "region": null
+ },
+ "supplier": {
+ "collection": {
+ "date": null
+ },
+ "extraction": {
+ "date": null,
+ "method": null
+ },
+ "measurements": {
+ "concentration": "142",
+ "concentration_determined_by": null,
+ "gc_content": null,
+ "gender": null,
+ "volume": "120"
+ },
+ "purification": {
+ "method": null,
+ "purified": null
+ },
+ "sample_name": "GB2",
+ "storage_conditions": null
+ },
+ "taxonomy": {
+ "common_name": "Onychomys torridus",
+ "id": 38674,
+ "organism": null,
+ "strain": null
+ }
+ },
+ "tag": {}
+ }
+ ],
+ "location": "B2",
+ "state": "passed"
+ },
+ {
+ "created_at": "2016-01-21 16:07:45 +0000",
+ "updated_at": "2016-01-21 16:08:28 +0000",
+ "plate": {
+ "actions": {
+ "read": "http://localhost:3000/final-plate-uuid"
+ },
+ "uuid": "final-plate-uuid"
+ },
+ "actions": {
+ "read": "http://localhost:3000/well-7-uuid"
+ },
+ "uuid": "well-7-uuid",
+ "aliquots": [
+ {
+ "created_at": "2016-01-21 16:07:48 +0000",
+ "updated_at": "2016-01-21 16:07:48 +0000",
+ "bait_library": null,
+ "insert_size": {},
+ "sample": {
+ "created_at": "2015-12-04 14:25:35 +0000",
+ "updated_at": "2016-01-13 11:43:58 +0000",
+ "actions": {
+ "read": "http://localhost:3000/sample-7-uuid"
+ },
+ "uuid": "sample-7-uuid",
+ "data_release": {
+ "accession_number": null,
+ "description": null,
+ "managed": {
+ "disease": null,
+ "subject": null,
+ "treatment": null
+ },
+ "metagenomics": {
+ "age": null,
+ "cell_type": null,
+ "compound": null,
+ "developmental_stage": null,
+ "disease": null,
+ "disease_state": null,
+ "dose": null,
+ "genotype": null,
+ "growth_condition": null,
+ "immunoprecipitate": null,
+ "organism_part": null,
+ "phenotype": null,
+ "rnai": null,
+ "subject": null,
+ "time_point": null,
+ "treatment": null
+ },
+ "public_name": null,
+ "sample_type": null,
+ "visibility": null
+ },
+ "family": {
+ "father": null,
+ "mother": null,
+ "replicate": null,
+ "sibling": null
+ },
+ "reference": {
+ "genome": "Not suitable for alignment"
+ },
+ "sanger": {
+ "description": null,
+ "name": "sample_7",
+ "resubmitted": false,
+ "sample_id": "sample_7"
+ },
+ "source": {
+ "cohort": null,
+ "control": false,
+ "country": null,
+ "dna_source": "Tissue",
+ "ethnicity": null,
+ "region": null
+ },
+ "supplier": {
+ "collection": {
+ "date": null
+ },
+ "extraction": {
+ "date": null,
+ "method": null
+ },
+ "measurements": {
+ "concentration": "14.6",
+ "concentration_determined_by": null,
+ "gc_content": null,
+ "gender": null,
+ "volume": "60"
+ },
+ "purification": {
+ "method": null,
+ "purified": null
+ },
+ "sample_name": "DA1",
+ "storage_conditions": null
+ },
+ "taxonomy": {
+ "common_name": "Mus musculus",
+ "id": 10090,
+ "organism": null,
+ "strain": null
+ }
+ },
+ "tag": {}
+ }
+ ],
+ "location": "B3",
+ "state": "passed"
+ },
+ {
+ "created_at": "2016-01-21 16:07:45 +0000",
+ "updated_at": "2016-01-21 16:08:28 +0000",
+ "plate": {
+ "actions": {
+ "read": "http://localhost:3000/final-plate-uuid"
+ },
+ "uuid": "final-plate-uuid"
+ },
+ "actions": {
+ "read": "http://localhost:3000/well-8-uuid"
+ },
+ "uuid": "well-8-uuid",
+ "aliquots": [
+ {
+ "created_at": "2016-01-21 16:07:49 +0000",
+ "updated_at": "2016-01-21 16:07:49 +0000",
+ "bait_library": null,
+ "insert_size": {},
+ "sample": {
+ "created_at": "2015-12-04 14:25:36 +0000",
+ "updated_at": "2016-01-13 11:43:59 +0000",
+ "actions": {
+ "read": "http://localhost:3000/sample-8-uuid"
+ },
+ "uuid": "sample-8-uuid",
+ "data_release": {
+ "accession_number": null,
+ "description": null,
+ "managed": {
+ "disease": null,
+ "subject": null,
+ "treatment": null
+ },
+ "metagenomics": {
+ "age": null,
+ "cell_type": null,
+ "compound": null,
+ "developmental_stage": null,
+ "disease": null,
+ "disease_state": null,
+ "dose": null,
+ "genotype": null,
+ "growth_condition": null,
+ "immunoprecipitate": null,
+ "organism_part": null,
+ "phenotype": null,
+ "rnai": null,
+ "subject": null,
+ "time_point": null,
+ "treatment": null
+ },
+ "public_name": null,
+ "sample_type": null,
+ "visibility": null
+ },
+ "family": {
+ "father": null,
+ "mother": null,
+ "replicate": null,
+ "sibling": null
+ },
+ "reference": {
+ "genome": "Not suitable for alignment"
+ },
+ "sanger": {
+ "description": null,
+ "name": "sample_8",
+ "resubmitted": false,
+ "sample_id": "sample_8"
+ },
+ "source": {
+ "cohort": null,
+ "control": false,
+ "country": null,
+ "dna_source": "Tissue",
+ "ethnicity": null,
+ "region": null
+ },
+ "supplier": {
+ "collection": {
+ "date": null
+ },
+ "extraction": {
+ "date": null,
+ "method": null
+ },
+ "measurements": {
+ "concentration": "14",
+ "concentration_determined_by": null,
+ "gc_content": null,
+ "gender": null,
+ "volume": "120"
+ },
+ "purification": {
+ "method": null,
+ "purified": null
+ },
+ "sample_name": "SA3",
+ "storage_conditions": null
+ },
+ "taxonomy": {
+ "common_name": "Mus musculus",
+ "id": 10090,
+ "organism": null,
+ "strain": null
+ }
+ },
+ "tag": {}
+ }
+ ],
+ "location": "B4",
+ "state": "passed"
+ },
+ {
+ "created_at": "2016-01-21 16:07:44 +0000",
+ "updated_at": "2016-01-21 16:08:28 +0000",
+ "plate": {
+ "actions": {
+ "read": "http://localhost:3000/final-plate-uuid"
+ },
+ "uuid": "final-plate-uuid"
+ },
+ "actions": {
+ "read": "http://localhost:3000/well-9-uuid"
+ },
+ "uuid": "well-9-uuid",
+ "aliquots": [
+ {
+ "created_at": "2016-01-21 16:07:46 +0000",
+ "updated_at": "2016-01-21 16:07:46 +0000",
+ "bait_library": null,
+ "insert_size": {},
+ "sample": {
+ "created_at": "2015-12-04 14:25:35 +0000",
+ "updated_at": "2016-01-13 11:43:58 +0000",
+ "actions": {
+ "read": "http://localhost:3000/sample-9-uuid"
+ },
+ "uuid": "sample-9-uuid",
+ "data_release": {
+ "accession_number": null,
+ "description": null,
+ "managed": {
+ "disease": null,
+ "subject": null,
+ "treatment": null
+ },
+ "metagenomics": {
+ "age": null,
+ "cell_type": null,
+ "compound": null,
+ "developmental_stage": null,
+ "disease": null,
+ "disease_state": null,
+ "dose": null,
+ "genotype": null,
+ "growth_condition": null,
+ "immunoprecipitate": null,
+ "organism_part": null,
+ "phenotype": null,
+ "rnai": null,
+ "subject": null,
+ "time_point": null,
+ "treatment": null
+ },
+ "public_name": null,
+ "sample_type": null,
+ "visibility": null
+ },
+ "family": {
+ "father": null,
+ "mother": null,
+ "replicate": null,
+ "sibling": null
+ },
+ "reference": {
+ "genome": "Not suitable for alignment"
+ },
+ "sanger": {
+ "description": null,
+ "name": "sample_9",
+ "resubmitted": false,
+ "sample_id": "sample_9"
+ },
+ "source": {
+ "cohort": null,
+ "control": false,
+ "country": null,
+ "dna_source": "Tissue",
+ "ethnicity": null,
+ "region": null
+ },
+ "supplier": {
+ "collection": {
+ "date": null
+ },
+ "extraction": {
+ "date": null,
+ "method": null
+ },
+ "measurements": {
+ "concentration": "14",
+ "concentration_determined_by": null,
+ "gc_content": null,
+ "gender": null,
+ "volume": "60"
+ },
+ "purification": {
+ "method": null,
+ "purified": null
+ },
+ "sample_name": "GDA1",
+ "storage_conditions": null
+ },
+ "taxonomy": {
+ "common_name": "Onychomys torridus",
+ "id": 38674,
+ "organism": null,
+ "strain": null
+ }
+ },
+ "tag": {}
+ }
+ ],
+ "location": "C1",
+ "state": "passed"
+ },
+ {
+ "created_at": "2016-01-21 16:07:44 +0000",
+ "updated_at": "2016-01-21 16:08:28 +0000",
+ "plate": {
+ "actions": {
+ "read": "http://localhost:3000/final-plate-uuid"
+ },
+ "uuid": "final-plate-uuid"
+ },
+ "actions": {
+ "read": "http://localhost:3000/well-10-uuid"
+ },
+ "uuid": "well-10-uuid",
+ "aliquots": [
+ {
+ "created_at": "2016-01-21 16:07:47 +0000",
+ "updated_at": "2016-01-21 16:07:47 +0000",
+ "bait_library": null,
+ "insert_size": {},
+ "sample": {
+ "created_at": "2015-12-04 14:25:35 +0000",
+ "updated_at": "2016-01-13 11:43:58 +0000",
+ "actions": {
+ "read": "http://localhost:3000/sample-10-uuid"
+ },
+ "uuid": "sample-10-uuid",
+ "data_release": {
+ "accession_number": null,
+ "description": null,
+ "managed": {
+ "disease": null,
+ "subject": null,
+ "treatment": null
+ },
+ "metagenomics": {
+ "age": null,
+ "cell_type": null,
+ "compound": null,
+ "developmental_stage": null,
+ "disease": null,
+ "disease_state": null,
+ "dose": null,
+ "genotype": null,
+ "growth_condition": null,
+ "immunoprecipitate": null,
+ "organism_part": null,
+ "phenotype": null,
+ "rnai": null,
+ "subject": null,
+ "time_point": null,
+ "treatment": null
+ },
+ "public_name": null,
+ "sample_type": null,
+ "visibility": null
+ },
+ "family": {
+ "father": null,
+ "mother": null,
+ "replicate": null,
+ "sibling": null
+ },
+ "reference": {
+ "genome": "Not suitable for alignment"
+ },
+ "sanger": {
+ "description": null,
+ "name": "sample_10",
+ "resubmitted": false,
+ "sample_id": "sample_10"
+ },
+ "source": {
+ "cohort": null,
+ "control": false,
+ "country": null,
+ "dna_source": "Tissue",
+ "ethnicity": null,
+ "region": null
+ },
+ "supplier": {
+ "collection": {
+ "date": null
+ },
+ "extraction": {
+ "date": null,
+ "method": null
+ },
+ "measurements": {
+ "concentration": "9.2",
+ "concentration_determined_by": null,
+ "gc_content": null,
+ "gender": null,
+ "volume": "120"
+ },
+ "purification": {
+ "method": null,
+ "purified": null
+ },
+ "sample_name": "GSA3",
+ "storage_conditions": null
+ },
+ "taxonomy": {
+ "common_name": "Onychomys torridus",
+ "id": 38674,
+ "organism": null,
+ "strain": null
+ }
+ },
+ "tag": {}
+ }
+ ],
+ "location": "C2",
+ "state": "passed"
+ },
+ {
+ "created_at": "2016-01-21 16:07:45 +0000",
+ "updated_at": "2016-01-21 16:08:28 +0000",
+ "plate": {
+ "actions": {
+ "read": "http://localhost:3000/final-plate-uuid"
+ },
+ "uuid": "final-plate-uuid"
+ },
+ "actions": {
+ "read": "http://localhost:3000/well-11-uuid"
+ },
+ "uuid": "well-11-uuid",
+ "aliquots": [
+ {
+ "created_at": "2016-01-21 16:07:48 +0000",
+ "updated_at": "2016-01-21 16:07:48 +0000",
+ "bait_library": null,
+ "insert_size": {},
+ "sample": {
+ "created_at": "2015-12-04 14:25:35 +0000",
+ "updated_at": "2016-01-13 11:43:58 +0000",
+ "actions": {
+ "read": "http://localhost:3000/sample-11-uuid"
+ },
+ "uuid": "sample-11-uuid",
+ "data_release": {
+ "accession_number": null,
+ "description": null,
+ "managed": {
+ "disease": null,
+ "subject": null,
+ "treatment": null
+ },
+ "metagenomics": {
+ "age": null,
+ "cell_type": null,
+ "compound": null,
+ "developmental_stage": null,
+ "disease": null,
+ "disease_state": null,
+ "dose": null,
+ "genotype": null,
+ "growth_condition": null,
+ "immunoprecipitate": null,
+ "organism_part": null,
+ "phenotype": null,
+ "rnai": null,
+ "subject": null,
+ "time_point": null,
+ "treatment": null
+ },
+ "public_name": null,
+ "sample_type": null,
+ "visibility": null
+ },
+ "family": {
+ "father": null,
+ "mother": null,
+ "replicate": null,
+ "sibling": null
+ },
+ "reference": {
+ "genome": "Not suitable for alignment"
+ },
+ "sanger": {
+ "description": null,
+ "name": "sample_11",
+ "resubmitted": false,
+ "sample_id": "sample_11"
+ },
+ "source": {
+ "cohort": null,
+ "control": false,
+ "country": null,
+ "dna_source": "Tissue",
+ "ethnicity": null,
+ "region": null
+ },
+ "supplier": {
+ "collection": {
+ "date": null
+ },
+ "extraction": {
+ "date": null,
+ "method": null
+ },
+ "measurements": {
+ "concentration": "15.8",
+ "concentration_determined_by": null,
+ "gc_content": null,
+ "gender": null,
+ "volume": "60"
+ },
+ "purification": {
+ "method": null,
+ "purified": null
+ },
+ "sample_name": "DP1",
+ "storage_conditions": null
+ },
+ "taxonomy": {
+ "common_name": "Mus musculus",
+ "id": 10090,
+ "organism": null,
+ "strain": null
+ }
+ },
+ "tag": {}
+ }
+ ],
+ "location": "C3",
+ "state": "passed"
+ },
+ {
+ "created_at": "2016-01-21 16:07:45 +0000",
+ "updated_at": "2016-01-21 16:08:28 +0000",
+ "plate": {
+ "actions": {
+ "read": "http://localhost:3000/final-plate-uuid"
+ },
+ "uuid": "final-plate-uuid"
+ },
+ "actions": {
+ "read": "http://localhost:3000/well-12-uuid"
+ },
+ "uuid": "well-12-uuid",
+ "aliquots": [
+ {
+ "created_at": "2016-01-21 16:07:49 +0000",
+ "updated_at": "2016-01-21 16:07:49 +0000",
+ "bait_library": null,
+ "insert_size": {},
+ "sample": {
+ "created_at": "2015-12-04 14:25:36 +0000",
+ "updated_at": "2016-01-13 11:43:59 +0000",
+ "actions": {
+ "read": "http://localhost:3000/sample-12-uuid"
+ },
+ "uuid": "sample-12-uuid",
+ "data_release": {
+ "accession_number": null,
+ "description": null,
+ "managed": {
+ "disease": null,
+ "subject": null,
+ "treatment": null
+ },
+ "metagenomics": {
+ "age": null,
+ "cell_type": null,
+ "compound": null,
+ "developmental_stage": null,
+ "disease": null,
+ "disease_state": null,
+ "dose": null,
+ "genotype": null,
+ "growth_condition": null,
+ "immunoprecipitate": null,
+ "organism_part": null,
+ "phenotype": null,
+ "rnai": null,
+ "subject": null,
+ "time_point": null,
+ "treatment": null
+ },
+ "public_name": null,
+ "sample_type": null,
+ "visibility": null
+ },
+ "family": {
+ "father": null,
+ "mother": null,
+ "replicate": null,
+ "sibling": null
+ },
+ "reference": {
+ "genome": "Not suitable for alignment"
+ },
+ "sanger": {
+ "description": null,
+ "name": "sample_12",
+ "resubmitted": false,
+ "sample_id": "sample_12"
+ },
+ "source": {
+ "cohort": null,
+ "control": false,
+ "country": null,
+ "dna_source": "Tissue",
+ "ethnicity": null,
+ "region": null
+ },
+ "supplier": {
+ "collection": {
+ "date": null
+ },
+ "extraction": {
+ "date": null,
+ "method": null
+ },
+ "measurements": {
+ "concentration": "13.7",
+ "concentration_determined_by": null,
+ "gc_content": null,
+ "gender": null,
+ "volume": "120"
+ },
+ "purification": {
+ "method": null,
+ "purified": null
+ },
+ "sample_name": "SP3",
+ "storage_conditions": null
+ },
+ "taxonomy": {
+ "common_name": "Mus musculus",
+ "id": 10090,
+ "organism": null,
+ "strain": null
+ }
+ },
+ "tag": {}
+ }
+ ],
+ "location": "C4",
+ "state": "passed"
+ },
+ {
+ "created_at": "2016-01-21 16:07:44 +0000",
+ "updated_at": "2016-01-21 16:08:28 +0000",
+ "plate": {
+ "actions": {
+ "read": "http://localhost:3000/final-plate-uuid"
+ },
+ "uuid": "final-plate-uuid"
+ },
+ "actions": {
+ "read": "http://localhost:3000/well-13-uuid"
+ },
+ "uuid": "well-13-uuid",
+ "aliquots": [
+ {
+ "created_at": "2016-01-21 16:07:46 +0000",
+ "updated_at": "2016-01-21 16:07:46 +0000",
+ "bait_library": null,
+ "insert_size": {},
+ "sample": {
+ "created_at": "2015-12-04 14:25:35 +0000",
+ "updated_at": "2016-01-13 11:43:58 +0000",
+ "actions": {
+ "read": "http://localhost:3000/sample-13-uuid"
+ },
+ "uuid": "sample-13-uuid",
+ "data_release": {
+ "accession_number": null,
+ "description": null,
+ "managed": {
+ "disease": null,
+ "subject": null,
+ "treatment": null
+ },
+ "metagenomics": {
+ "age": null,
+ "cell_type": null,
+ "compound": null,
+ "developmental_stage": null,
+ "disease": null,
+ "disease_state": null,
+ "dose": null,
+ "genotype": null,
+ "growth_condition": null,
+ "immunoprecipitate": null,
+ "organism_part": null,
+ "phenotype": null,
+ "rnai": null,
+ "subject": null,
+ "time_point": null,
+ "treatment": null
+ },
+ "public_name": null,
+ "sample_type": null,
+ "visibility": null
+ },
+ "family": {
+ "father": null,
+ "mother": null,
+ "replicate": null,
+ "sibling": null
+ },
+ "reference": {
+ "genome": "Not suitable for alignment"
+ },
+ "sanger": {
+ "description": null,
+ "name": "sample_13",
+ "resubmitted": false,
+ "sample_id": "sample_13"
+ },
+ "source": {
+ "cohort": null,
+ "control": false,
+ "country": null,
+ "dna_source": "Tissue",
+ "ethnicity": null,
+ "region": null
+ },
+ "supplier": {
+ "collection": {
+ "date": null
+ },
+ "extraction": {
+ "date": null,
+ "method": null
+ },
+ "measurements": {
+ "concentration": "33.8",
+ "concentration_determined_by": null,
+ "gc_content": null,
+ "gender": null,
+ "volume": "60"
+ },
+ "purification": {
+ "method": null,
+ "purified": null
+ },
+ "sample_name": "GDP1",
+ "storage_conditions": null
+ },
+ "taxonomy": {
+ "common_name": "Onychomys torridus",
+ "id": 38674,
+ "organism": null,
+ "strain": null
+ }
+ },
+ "tag": {}
+ }
+ ],
+ "location": "D1",
+ "state": "passed"
+ },
+ {
+ "created_at": "2016-01-21 16:07:44 +0000",
+ "updated_at": "2016-01-21 16:08:28 +0000",
+ "plate": {
+ "actions": {
+ "read": "http://localhost:3000/final-plate-uuid"
+ },
+ "uuid": "final-plate-uuid"
+ },
+ "actions": {
+ "read": "http://localhost:3000/well-14-uuid"
+ },
+ "uuid": "well-14-uuid",
+ "aliquots": [
+ {
+ "created_at": "2016-01-21 16:07:47 +0000",
+ "updated_at": "2016-01-21 16:07:47 +0000",
+ "bait_library": null,
+ "insert_size": {},
+ "sample": {
+ "created_at": "2015-12-04 14:25:35 +0000",
+ "updated_at": "2016-01-13 11:43:58 +0000",
+ "actions": {
+ "read": "http://localhost:3000/sample-14-uuid"
+ },
+ "uuid": "sample-14-uuid",
+ "data_release": {
+ "accession_number": null,
+ "description": null,
+ "managed": {
+ "disease": null,
+ "subject": null,
+ "treatment": null
+ },
+ "metagenomics": {
+ "age": null,
+ "cell_type": null,
+ "compound": null,
+ "developmental_stage": null,
+ "disease": null,
+ "disease_state": null,
+ "dose": null,
+ "genotype": null,
+ "growth_condition": null,
+ "immunoprecipitate": null,
+ "organism_part": null,
+ "phenotype": null,
+ "rnai": null,
+ "subject": null,
+ "time_point": null,
+ "treatment": null
+ },
+ "public_name": null,
+ "sample_type": null,
+ "visibility": null
+ },
+ "family": {
+ "father": null,
+ "mother": null,
+ "replicate": null,
+ "sibling": null
+ },
+ "reference": {
+ "genome": "Not suitable for alignment"
+ },
+ "sanger": {
+ "description": null,
+ "name": "sample_14",
+ "resubmitted": false,
+ "sample_id": "sample_14"
+ },
+ "source": {
+ "cohort": null,
+ "control": false,
+ "country": null,
+ "dna_source": "Tissue",
+ "ethnicity": null,
+ "region": null
+ },
+ "supplier": {
+ "collection": {
+ "date": null
+ },
+ "extraction": {
+ "date": null,
+ "method": null
+ },
+ "measurements": {
+ "concentration": "12.7",
+ "concentration_determined_by": null,
+ "gc_content": null,
+ "gender": null,
+ "volume": "120"
+ },
+ "purification": {
+ "method": null,
+ "purified": null
+ },
+ "sample_name": "GSP3",
+ "storage_conditions": null
+ },
+ "taxonomy": {
+ "common_name": "Onychomys torridus",
+ "id": 38674,
+ "organism": null,
+ "strain": null
+ }
+ },
+ "tag": {}
+ }
+ ],
+ "location": "D2",
+ "state": "passed"
+ },
+ {
+ "created_at": "2016-01-21 16:07:45 +0000",
+ "updated_at": "2016-01-21 16:08:28 +0000",
+ "plate": {
+ "actions": {
+ "read": "http://localhost:3000/final-plate-uuid"
+ },
+ "uuid": "final-plate-uuid"
+ },
+ "actions": {
+ "read": "http://localhost:3000/well-15-uuid"
+ },
+ "uuid": "well-15-uuid",
+ "aliquots": [
+ {
+ "created_at": "2016-01-21 16:07:48 +0000",
+ "updated_at": "2016-01-21 16:07:48 +0000",
+ "bait_library": null,
+ "insert_size": {},
+ "sample": {
+ "created_at": "2015-12-04 14:25:35 +0000",
+ "updated_at": "2016-01-13 11:43:58 +0000",
+ "actions": {
+ "read": "http://localhost:3000/sample-15-uuid"
+ },
+ "uuid": "sample-15-uuid",
+ "data_release": {
+ "accession_number": null,
+ "description": null,
+ "managed": {
+ "disease": null,
+ "subject": null,
+ "treatment": null
+ },
+ "metagenomics": {
+ "age": null,
+ "cell_type": null,
+ "compound": null,
+ "developmental_stage": null,
+ "disease": null,
+ "disease_state": null,
+ "dose": null,
+ "genotype": null,
+ "growth_condition": null,
+ "immunoprecipitate": null,
+ "organism_part": null,
+ "phenotype": null,
+ "rnai": null,
+ "subject": null,
+ "time_point": null,
+ "treatment": null
+ },
+ "public_name": null,
+ "sample_type": null,
+ "visibility": null
+ },
+ "family": {
+ "father": null,
+ "mother": null,
+ "replicate": null,
+ "sibling": null
+ },
+ "reference": {
+ "genome": "Not suitable for alignment"
+ },
+ "sanger": {
+ "description": null,
+ "name": "sample_15",
+ "resubmitted": false,
+ "sample_id": "sample_15"
+ },
+ "source": {
+ "cohort": null,
+ "control": false,
+ "country": null,
+ "dna_source": "Tissue",
+ "ethnicity": null,
+ "region": null
+ },
+ "supplier": {
+ "collection": {
+ "date": null
+ },
+ "extraction": {
+ "date": null,
+ "method": null
+ },
+ "measurements": {
+ "concentration": "25.2",
+ "concentration_determined_by": null,
+ "gc_content": null,
+ "gender": null,
+ "volume": "60"
+ },
+ "purification": {
+ "method": null,
+ "purified": null
+ },
+ "sample_name": "B1",
+ "storage_conditions": null
+ },
+ "taxonomy": {
+ "common_name": "Mus musculus",
+ "id": 10090,
+ "organism": null,
+ "strain": null
+ }
+ },
+ "tag": {}
+ }
+ ],
+ "location": "D3",
+ "state": "passed"
+ },
+ {
+ "created_at": "2016-01-21 16:07:45 +0000",
+ "updated_at": "2016-01-21 16:08:28 +0000",
+ "plate": {
+ "actions": {
+ "read": "http://localhost:3000/final-plate-uuid"
+ },
+ "uuid": "final-plate-uuid"
+ },
+ "actions": {
+ "read": "http://localhost:3000/well-16-uuid"
+ },
+ "uuid": "well-16-uuid",
+ "aliquots": [
+ {
+ "created_at": "2016-01-21 16:07:49 +0000",
+ "updated_at": "2016-01-21 16:07:49 +0000",
+ "bait_library": null,
+ "insert_size": {},
+ "sample": {
+ "created_at": "2015-12-04 14:25:36 +0000",
+ "updated_at": "2016-01-13 11:43:59 +0000",
+ "actions": {
+ "read": "http://localhost:3000/sample-16-uuid"
+ },
+ "uuid": "sample-16-uuid",
+ "data_release": {
+ "accession_number": null,
+ "description": null,
+ "managed": {
+ "disease": null,
+ "subject": null,
+ "treatment": null
+ },
+ "metagenomics": {
+ "age": null,
+ "cell_type": null,
+ "compound": null,
+ "developmental_stage": null,
+ "disease": null,
+ "disease_state": null,
+ "dose": null,
+ "genotype": null,
+ "growth_condition": null,
+ "immunoprecipitate": null,
+ "organism_part": null,
+ "phenotype": null,
+ "rnai": null,
+ "subject": null,
+ "time_point": null,
+ "treatment": null
+ },
+ "public_name": null,
+ "sample_type": null,
+ "visibility": null
+ },
+ "family": {
+ "father": null,
+ "mother": null,
+ "replicate": null,
+ "sibling": null
+ },
+ "reference": {
+ "genome": "Not suitable for alignment"
+ },
+ "sanger": {
+ "description": null,
+ "name": "sample_16",
+ "resubmitted": false,
+ "sample_id": "sample_16"
+ },
+ "source": {
+ "cohort": null,
+ "control": false,
+ "country": null,
+ "dna_source": "Tissue",
+ "ethnicity": null,
+ "region": null
+ },
+ "supplier": {
+ "collection": {
+ "date": null
+ },
+ "extraction": {
+ "date": null,
+ "method": null
+ },
+ "measurements": {
+ "concentration": "5.1",
+ "concentration_determined_by": null,
+ "gc_content": null,
+ "gender": null,
+ "volume": "120"
+ },
+ "purification": {
+ "method": null,
+ "purified": null
+ },
+ "sample_name": "DA3",
+ "storage_conditions": null
+ },
+ "taxonomy": {
+ "common_name": "Mus musculus",
+ "id": 10090,
+ "organism": null,
+ "strain": null
+ }
+ },
+ "tag": {}
+ }
+ ],
+ "location": "D4",
+ "state": "passed"
+ },
+ {
+ "created_at": "2016-01-21 16:07:44 +0000",
+ "updated_at": "2016-01-21 16:08:28 +0000",
+ "plate": {
+ "actions": {
+ "read": "http://localhost:3000/final-plate-uuid"
+ },
+ "uuid": "final-plate-uuid"
+ },
+ "actions": {
+ "read": "http://localhost:3000/well-17-uuid"
+ },
+ "uuid": "well-17-uuid",
+ "aliquots": [
+ {
+ "created_at": "2016-01-21 16:07:46 +0000",
+ "updated_at": "2016-01-21 16:07:46 +0000",
+ "bait_library": null,
+ "insert_size": {},
+ "sample": {
+ "created_at": "2015-12-04 14:25:35 +0000",
+ "updated_at": "2016-01-13 11:43:58 +0000",
+ "actions": {
+ "read": "http://localhost:3000/sample-17-uuid"
+ },
+ "uuid": "sample-17-uuid",
+ "data_release": {
+ "accession_number": null,
+ "description": null,
+ "managed": {
+ "disease": null,
+ "subject": null,
+ "treatment": null
+ },
+ "metagenomics": {
+ "age": null,
+ "cell_type": null,
+ "compound": null,
+ "developmental_stage": null,
+ "disease": null,
+ "disease_state": null,
+ "dose": null,
+ "genotype": null,
+ "growth_condition": null,
+ "immunoprecipitate": null,
+ "organism_part": null,
+ "phenotype": null,
+ "rnai": null,
+ "subject": null,
+ "time_point": null,
+ "treatment": null
+ },
+ "public_name": null,
+ "sample_type": null,
+ "visibility": null
+ },
+ "family": {
+ "father": null,
+ "mother": null,
+ "replicate": null,
+ "sibling": null
+ },
+ "reference": {
+ "genome": "Not suitable for alignment"
+ },
+ "sanger": {
+ "description": null,
+ "name": "sample_17",
+ "resubmitted": false,
+ "sample_id": "sample_17"
+ },
+ "source": {
+ "cohort": null,
+ "control": false,
+ "country": null,
+ "dna_source": "Tissue",
+ "ethnicity": null,
+ "region": null
+ },
+ "supplier": {
+ "collection": {
+ "date": null
+ },
+ "extraction": {
+ "date": null,
+ "method": null
+ },
+ "measurements": {
+ "concentration": "52.2",
+ "concentration_determined_by": null,
+ "gc_content": null,
+ "gender": null,
+ "volume": "60"
+ },
+ "purification": {
+ "method": null,
+ "purified": null
+ },
+ "sample_name": "GB1",
+ "storage_conditions": null
+ },
+ "taxonomy": {
+ "common_name": "Onychomys torridus",
+ "id": 38674,
+ "organism": null,
+ "strain": null
+ }
+ },
+ "tag": {}
+ }
+ ],
+ "location": "E1",
+ "state": "passed"
+ },
+ {
+ "created_at": "2016-01-21 16:07:44 +0000",
+ "updated_at": "2016-01-21 16:08:28 +0000",
+ "plate": {
+ "actions": {
+ "read": "http://localhost:3000/final-plate-uuid"
+ },
+ "uuid": "final-plate-uuid"
+ },
+ "actions": {
+ "read": "http://localhost:3000/well-18-uuid"
+ },
+ "uuid": "well-18-uuid",
+ "aliquots": [
+ {
+ "created_at": "2016-01-21 16:07:47 +0000",
+ "updated_at": "2016-01-21 16:07:47 +0000",
+ "bait_library": null,
+ "insert_size": {},
+ "sample": {
+ "created_at": "2015-12-04 14:25:35 +0000",
+ "updated_at": "2016-01-13 11:43:58 +0000",
+ "actions": {
+ "read": "http://localhost:3000/sample-18-uuid"
+ },
+ "uuid": "sample-18-uuid",
+ "data_release": {
+ "accession_number": null,
+ "description": null,
+ "managed": {
+ "disease": null,
+ "subject": null,
+ "treatment": null
+ },
+ "metagenomics": {
+ "age": null,
+ "cell_type": null,
+ "compound": null,
+ "developmental_stage": null,
+ "disease": null,
+ "disease_state": null,
+ "dose": null,
+ "genotype": null,
+ "growth_condition": null,
+ "immunoprecipitate": null,
+ "organism_part": null,
+ "phenotype": null,
+ "rnai": null,
+ "subject": null,
+ "time_point": null,
+ "treatment": null
+ },
+ "public_name": null,
+ "sample_type": null,
+ "visibility": null
+ },
+ "family": {
+ "father": null,
+ "mother": null,
+ "replicate": null,
+ "sibling": null
+ },
+ "reference": {
+ "genome": "Not suitable for alignment"
+ },
+ "sanger": {
+ "description": null,
+ "name": "sample_18",
+ "resubmitted": false,
+ "sample_id": "sample_18"
+ },
+ "source": {
+ "cohort": null,
+ "control": false,
+ "country": null,
+ "dna_source": "Tissue",
+ "ethnicity": null,
+ "region": null
+ },
+ "supplier": {
+ "collection": {
+ "date": null
+ },
+ "extraction": {
+ "date": null,
+ "method": null
+ },
+ "measurements": {
+ "concentration": "6.3",
+ "concentration_determined_by": null,
+ "gc_content": null,
+ "gender": null,
+ "volume": "120"
+ },
+ "purification": {
+ "method": null,
+ "purified": null
+ },
+ "sample_name": "GDA3",
+ "storage_conditions": null
+ },
+ "taxonomy": {
+ "common_name": "Onychomys torridus",
+ "id": 38674,
+ "organism": null,
+ "strain": null
+ }
+ },
+ "tag": {}
+ }
+ ],
+ "location": "E2",
+ "state": "passed"
+ },
+ {
+ "created_at": "2016-01-21 16:07:45 +0000",
+ "updated_at": "2016-01-21 16:08:28 +0000",
+ "plate": {
+ "actions": {
+ "read": "http://localhost:3000/final-plate-uuid"
+ },
+ "uuid": "final-plate-uuid"
+ },
+ "actions": {
+ "read": "http://localhost:3000/well-19-uuid"
+ },
+ "uuid": "well-19-uuid",
+ "aliquots": [
+ {
+ "created_at": "2016-01-21 16:07:48 +0000",
+ "updated_at": "2016-01-21 16:07:48 +0000",
+ "bait_library": null,
+ "insert_size": {},
+ "sample": {
+ "created_at": "2015-12-04 14:25:35 +0000",
+ "updated_at": "2016-01-13 11:43:58 +0000",
+ "actions": {
+ "read": "http://localhost:3000/sample-19-uuid"
+ },
+ "uuid": "sample-19-uuid",
+ "data_release": {
+ "accession_number": null,
+ "description": null,
+ "managed": {
+ "disease": null,
+ "subject": null,
+ "treatment": null
+ },
+ "metagenomics": {
+ "age": null,
+ "cell_type": null,
+ "compound": null,
+ "developmental_stage": null,
+ "disease": null,
+ "disease_state": null,
+ "dose": null,
+ "genotype": null,
+ "growth_condition": null,
+ "immunoprecipitate": null,
+ "organism_part": null,
+ "phenotype": null,
+ "rnai": null,
+ "subject": null,
+ "time_point": null,
+ "treatment": null
+ },
+ "public_name": null,
+ "sample_type": null,
+ "visibility": null
+ },
+ "family": {
+ "father": null,
+ "mother": null,
+ "replicate": null,
+ "sibling": null
+ },
+ "reference": {
+ "genome": "Not suitable for alignment"
+ },
+ "sanger": {
+ "description": null,
+ "name": "sample_19",
+ "resubmitted": false,
+ "sample_id": "sample_19"
+ },
+ "source": {
+ "cohort": null,
+ "control": false,
+ "country": null,
+ "dna_source": "Tissue",
+ "ethnicity": null,
+ "region": null
+ },
+ "supplier": {
+ "collection": {
+ "date": null
+ },
+ "extraction": {
+ "date": null,
+ "method": null
+ },
+ "measurements": {
+ "concentration": "13.2",
+ "concentration_determined_by": null,
+ "gc_content": null,
+ "gender": null,
+ "volume": "120"
+ },
+ "purification": {
+ "method": null,
+ "purified": null
+ },
+ "sample_name": "SA2",
+ "storage_conditions": null
+ },
+ "taxonomy": {
+ "common_name": "Mus musculus",
+ "id": 10090,
+ "organism": null,
+ "strain": null
+ }
+ },
+ "tag": {}
+ }
+ ],
+ "location": "E3",
+ "state": "passed"
+ },
+ {
+ "created_at": "2016-01-21 16:07:45 +0000",
+ "updated_at": "2016-01-21 16:08:28 +0000",
+ "plate": {
+ "actions": {
+ "read": "http://localhost:3000/final-plate-uuid"
+ },
+ "uuid": "final-plate-uuid"
+ },
+ "actions": {
+ "read": "http://localhost:3000/well-20-uuid"
+ },
+ "uuid": "well-20-uuid",
+ "aliquots": [
+ {
+ "created_at": "2016-01-21 16:07:49 +0000",
+ "updated_at": "2016-01-21 16:07:49 +0000",
+ "bait_library": null,
+ "insert_size": {},
+ "sample": {
+ "created_at": "2015-12-04 14:25:36 +0000",
+ "updated_at": "2016-01-13 11:43:59 +0000",
+ "actions": {
+ "read": "http://localhost:3000/sample-20-uuid"
+ },
+ "uuid": "sample-20-uuid",
+ "data_release": {
+ "accession_number": null,
+ "description": null,
+ "managed": {
+ "disease": null,
+ "subject": null,
+ "treatment": null
+ },
+ "metagenomics": {
+ "age": null,
+ "cell_type": null,
+ "compound": null,
+ "developmental_stage": null,
+ "disease": null,
+ "disease_state": null,
+ "dose": null,
+ "genotype": null,
+ "growth_condition": null,
+ "immunoprecipitate": null,
+ "organism_part": null,
+ "phenotype": null,
+ "rnai": null,
+ "subject": null,
+ "time_point": null,
+ "treatment": null
+ },
+ "public_name": null,
+ "sample_type": null,
+ "visibility": null
+ },
+ "family": {
+ "father": null,
+ "mother": null,
+ "replicate": null,
+ "sibling": null
+ },
+ "reference": {
+ "genome": "Not suitable for alignment"
+ },
+ "sanger": {
+ "description": null,
+ "name": "sample_20",
+ "resubmitted": false,
+ "sample_id": "sample_20"
+ },
+ "source": {
+ "cohort": null,
+ "control": false,
+ "country": null,
+ "dna_source": "Tissue",
+ "ethnicity": null,
+ "region": null
+ },
+ "supplier": {
+ "collection": {
+ "date": null
+ },
+ "extraction": {
+ "date": null,
+ "method": null
+ },
+ "measurements": {
+ "concentration": "12.8",
+ "concentration_determined_by": null,
+ "gc_content": null,
+ "gender": null,
+ "volume": "120"
+ },
+ "purification": {
+ "method": null,
+ "purified": null
+ },
+ "sample_name": "DP3",
+ "storage_conditions": null
+ },
+ "taxonomy": {
+ "common_name": "Mus musculus",
+ "id": 10090,
+ "organism": null,
+ "strain": null
+ }
+ },
+ "tag": {}
+ }
+ ],
+ "location": "E4",
+ "state": "passed"
+ },
+ {
+ "created_at": "2016-01-21 16:07:44 +0000",
+ "updated_at": "2016-01-21 16:08:28 +0000",
+ "plate": {
+ "actions": {
+ "read": "http://localhost:3000/final-plate-uuid"
+ },
+ "uuid": "final-plate-uuid"
+ },
+ "actions": {
+ "read": "http://localhost:3000/well-21-uuid"
+ },
+ "uuid": "well-21-uuid",
+ "aliquots": [
+ {
+ "created_at": "2016-01-21 16:07:47 +0000",
+ "updated_at": "2016-01-21 16:07:47 +0000",
+ "bait_library": null,
+ "insert_size": {},
+ "sample": {
+ "created_at": "2015-12-04 14:25:35 +0000",
+ "updated_at": "2016-01-13 11:43:58 +0000",
+ "actions": {
+ "read": "http://localhost:3000/sample-21-uuid"
+ },
+ "uuid": "sample-21-uuid",
+ "data_release": {
+ "accession_number": null,
+ "description": null,
+ "managed": {
+ "disease": null,
+ "subject": null,
+ "treatment": null
+ },
+ "metagenomics": {
+ "age": null,
+ "cell_type": null,
+ "compound": null,
+ "developmental_stage": null,
+ "disease": null,
+ "disease_state": null,
+ "dose": null,
+ "genotype": null,
+ "growth_condition": null,
+ "immunoprecipitate": null,
+ "organism_part": null,
+ "phenotype": null,
+ "rnai": null,
+ "subject": null,
+ "time_point": null,
+ "treatment": null
+ },
+ "public_name": null,
+ "sample_type": null,
+ "visibility": null
+ },
+ "family": {
+ "father": null,
+ "mother": null,
+ "replicate": null,
+ "sibling": null
+ },
+ "reference": {
+ "genome": "Not suitable for alignment"
+ },
+ "sanger": {
+ "description": null,
+ "name": "sample_21",
+ "resubmitted": false,
+ "sample_id": "sample_21"
+ },
+ "source": {
+ "cohort": null,
+ "control": false,
+ "country": null,
+ "dna_source": "Tissue",
+ "ethnicity": null,
+ "region": null
+ },
+ "supplier": {
+ "collection": {
+ "date": null
+ },
+ "extraction": {
+ "date": null,
+ "method": null
+ },
+ "measurements": {
+ "concentration": "16.9",
+ "concentration_determined_by": null,
+ "gc_content": null,
+ "gender": null,
+ "volume": "60"
+ },
+ "purification": {
+ "method": null,
+ "purified": null
+ },
+ "sample_name": "GSA2",
+ "storage_conditions": null
+ },
+ "taxonomy": {
+ "common_name": "Onychomys torridus",
+ "id": 38674,
+ "organism": null,
+ "strain": null
+ }
+ },
+ "tag": {}
+ }
+ ],
+ "location": "F1",
+ "state": "passed"
+ },
+ {
+ "created_at": "2016-01-21 16:07:44 +0000",
+ "updated_at": "2016-01-21 16:08:28 +0000",
+ "plate": {
+ "actions": {
+ "read": "http://localhost:3000/final-plate-uuid"
+ },
+ "uuid": "final-plate-uuid"
+ },
+ "actions": {
+ "read": "http://localhost:3000/well-22-uuid"
+ },
+ "uuid": "well-22-uuid",
+ "aliquots": [
+ {
+ "created_at": "2016-01-21 16:07:47 +0000",
+ "updated_at": "2016-01-21 16:07:47 +0000",
+ "bait_library": null,
+ "insert_size": {},
+ "sample": {
+ "created_at": "2015-12-04 14:25:35 +0000",
+ "updated_at": "2016-01-13 11:43:58 +0000",
+ "actions": {
+ "read": "http://localhost:3000/sample-22-uuid"
+ },
+ "uuid": "sample-22-uuid",
+ "data_release": {
+ "accession_number": null,
+ "description": null,
+ "managed": {
+ "disease": null,
+ "subject": null,
+ "treatment": null
+ },
+ "metagenomics": {
+ "age": null,
+ "cell_type": null,
+ "compound": null,
+ "developmental_stage": null,
+ "disease": null,
+ "disease_state": null,
+ "dose": null,
+ "genotype": null,
+ "growth_condition": null,
+ "immunoprecipitate": null,
+ "organism_part": null,
+ "phenotype": null,
+ "rnai": null,
+ "subject": null,
+ "time_point": null,
+ "treatment": null
+ },
+ "public_name": null,
+ "sample_type": null,
+ "visibility": null
+ },
+ "family": {
+ "father": null,
+ "mother": null,
+ "replicate": null,
+ "sibling": null
+ },
+ "reference": {
+ "genome": "Not suitable for alignment"
+ },
+ "sanger": {
+ "description": null,
+ "name": "sample_22",
+ "resubmitted": false,
+ "sample_id": "sample_22"
+ },
+ "source": {
+ "cohort": null,
+ "control": false,
+ "country": null,
+ "dna_source": "Tissue",
+ "ethnicity": null,
+ "region": null
+ },
+ "supplier": {
+ "collection": {
+ "date": null
+ },
+ "extraction": {
+ "date": null,
+ "method": null
+ },
+ "measurements": {
+ "concentration": "8.3",
+ "concentration_determined_by": null,
+ "gc_content": null,
+ "gender": null,
+ "volume": "120"
+ },
+ "purification": {
+ "method": null,
+ "purified": null
+ },
+ "sample_name": "GDP3",
+ "storage_conditions": null
+ },
+ "taxonomy": {
+ "common_name": "Onychomys torridus",
+ "id": 38674,
+ "organism": null,
+ "strain": null
+ }
+ },
+ "tag": {}
+ }
+ ],
+ "location": "F2",
+ "state": "passed"
+ },
+ {
+ "created_at": "2016-01-21 16:07:45 +0000",
+ "updated_at": "2016-01-21 16:08:28 +0000",
+ "plate": {
+ "actions": {
+ "read": "http://localhost:3000/final-plate-uuid"
+ },
+ "uuid": "final-plate-uuid"
+ },
+ "actions": {
+ "read": "http://localhost:3000/well-23-uuid"
+ },
+ "uuid": "well-23-uuid",
+ "aliquots": [
+ {
+ "created_at": "2016-01-21 16:07:48 +0000",
+ "updated_at": "2016-01-21 16:07:48 +0000",
+ "bait_library": null,
+ "insert_size": {},
+ "sample": {
+ "created_at": "2015-12-04 14:25:35 +0000",
+ "updated_at": "2016-01-13 11:43:59 +0000",
+ "actions": {
+ "read": "http://localhost:3000/sample-23-uuid"
+ },
+ "uuid": "sample-23-uuid",
+ "data_release": {
+ "accession_number": null,
+ "description": null,
+ "managed": {
+ "disease": null,
+ "subject": null,
+ "treatment": null
+ },
+ "metagenomics": {
+ "age": null,
+ "cell_type": null,
+ "compound": null,
+ "developmental_stage": null,
+ "disease": null,
+ "disease_state": null,
+ "dose": null,
+ "genotype": null,
+ "growth_condition": null,
+ "immunoprecipitate": null,
+ "organism_part": null,
+ "phenotype": null,
+ "rnai": null,
+ "subject": null,
+ "time_point": null,
+ "treatment": null
+ },
+ "public_name": null,
+ "sample_type": null,
+ "visibility": null
+ },
+ "family": {
+ "father": null,
+ "mother": null,
+ "replicate": null,
+ "sibling": null
+ },
+ "reference": {
+ "genome": "Not suitable for alignment"
+ },
+ "sanger": {
+ "description": null,
+ "name": "sample_23",
+ "resubmitted": false,
+ "sample_id": "sample_23"
+ },
+ "source": {
+ "cohort": null,
+ "control": false,
+ "country": null,
+ "dna_source": "Tissue",
+ "ethnicity": null,
+ "region": null
+ },
+ "supplier": {
+ "collection": {
+ "date": null
+ },
+ "extraction": {
+ "date": null,
+ "method": null
+ },
+ "measurements": {
+ "concentration": "4.6",
+ "concentration_determined_by": null,
+ "gc_content": null,
+ "gender": null,
+ "volume": "120"
+ },
+ "purification": {
+ "method": null,
+ "purified": null
+ },
+ "sample_name": "SP2",
+ "storage_conditions": null
+ },
+ "taxonomy": {
+ "common_name": "Mus musculus",
+ "id": 10090,
+ "organism": null,
+ "strain": null
+ }
+ },
+ "tag": {}
+ }
+ ],
+ "location": "F3",
+ "state": "passed"
+ },
+ {
+ "created_at": "2016-01-21 16:07:45 +0000",
+ "updated_at": "2016-01-21 16:08:28 +0000",
+ "plate": {
+ "actions": {
+ "read": "http://localhost:3000/final-plate-uuid"
+ },
+ "uuid": "final-plate-uuid"
+ },
+ "actions": {
+ "read": "http://localhost:3000/well-24-uuid"
+ },
+ "uuid": "well-24-uuid",
+ "aliquots": [
+ {
+ "created_at": "2016-01-21 16:07:49 +0000",
+ "updated_at": "2016-01-21 16:07:49 +0000",
+ "bait_library": null,
+ "insert_size": {},
+ "sample": {
+ "created_at": "2015-12-04 14:25:36 +0000",
+ "updated_at": "2016-01-13 11:43:59 +0000",
+ "actions": {
+ "read": "http://localhost:3000/sample-24-uuid"
+ },
+ "uuid": "sample-24-uuid",
+ "data_release": {
+ "accession_number": null,
+ "description": null,
+ "managed": {
+ "disease": null,
+ "subject": null,
+ "treatment": null
+ },
+ "metagenomics": {
+ "age": null,
+ "cell_type": null,
+ "compound": null,
+ "developmental_stage": null,
+ "disease": null,
+ "disease_state": null,
+ "dose": null,
+ "genotype": null,
+ "growth_condition": null,
+ "immunoprecipitate": null,
+ "organism_part": null,
+ "phenotype": null,
+ "rnai": null,
+ "subject": null,
+ "time_point": null,
+ "treatment": null
+ },
+ "public_name": null,
+ "sample_type": null,
+ "visibility": null
+ },
+ "family": {
+ "father": null,
+ "mother": null,
+ "replicate": null,
+ "sibling": null
+ },
+ "reference": {
+ "genome": "Not suitable for alignment"
+ },
+ "sanger": {
+ "description": null,
+ "name": "sample_24",
+ "resubmitted": false,
+ "sample_id": "sample_24"
+ },
+ "source": {
+ "cohort": null,
+ "control": false,
+ "country": null,
+ "dna_source": "Tissue",
+ "ethnicity": null,
+ "region": null
+ },
+ "supplier": {
+ "collection": {
+ "date": null
+ },
+ "extraction": {
+ "date": null,
+ "method": null
+ },
+ "measurements": {
+ "concentration": "110",
+ "concentration_determined_by": null,
+ "gc_content": null,
+ "gender": null,
+ "volume": "120"
+ },
+ "purification": {
+ "method": null,
+ "purified": null
+ },
+ "sample_name": "B3",
+ "storage_conditions": null
+ },
+ "taxonomy": {
+ "common_name": "Mus musculus",
+ "id": 10090,
+ "organism": null,
+ "strain": null
+ }
+ },
+ "tag": {}
+ }
+ ],
+ "location": "F4",
+ "state": "passed"
+ },
+ {
+ "created_at": "2016-01-21 16:07:44 +0000",
+ "updated_at": "2016-01-21 16:08:28 +0000",
+ "plate": {
+ "actions": {
+ "read": "http://localhost:3000/final-plate-uuid"
+ },
+ "uuid": "final-plate-uuid"
+ },
+ "actions": {
+ "read": "http://localhost:3000/well-25-uuid"
+ },
+ "uuid": "well-25-uuid",
+ "aliquots": [
+ {
+ "created_at": "2016-01-21 16:07:47 +0000",
+ "updated_at": "2016-01-21 16:07:47 +0000",
+ "bait_library": null,
+ "insert_size": {},
+ "sample": {
+ "created_at": "2015-12-04 14:25:35 +0000",
+ "updated_at": "2016-01-13 11:43:58 +0000",
+ "actions": {
+ "read": "http://localhost:3000/sample-25-uuid"
+ },
+ "uuid": "sample-25-uuid",
+ "data_release": {
+ "accession_number": null,
+ "description": null,
+ "managed": {
+ "disease": null,
+ "subject": null,
+ "treatment": null
+ },
+ "metagenomics": {
+ "age": null,
+ "cell_type": null,
+ "compound": null,
+ "developmental_stage": null,
+ "disease": null,
+ "disease_state": null,
+ "dose": null,
+ "genotype": null,
+ "growth_condition": null,
+ "immunoprecipitate": null,
+ "organism_part": null,
+ "phenotype": null,
+ "rnai": null,
+ "subject": null,
+ "time_point": null,
+ "treatment": null
+ },
+ "public_name": null,
+ "sample_type": null,
+ "visibility": null
+ },
+ "family": {
+ "father": null,
+ "mother": null,
+ "replicate": null,
+ "sibling": null
+ },
+ "reference": {
+ "genome": "Not suitable for alignment"
+ },
+ "sanger": {
+ "description": null,
+ "name": "sample_25",
+ "resubmitted": false,
+ "sample_id": "sample_25"
+ },
+ "source": {
+ "cohort": null,
+ "control": false,
+ "country": null,
+ "dna_source": "Tissue",
+ "ethnicity": null,
+ "region": null
+ },
+ "supplier": {
+ "collection": {
+ "date": null
+ },
+ "extraction": {
+ "date": null,
+ "method": null
+ },
+ "measurements": {
+ "concentration": "23",
+ "concentration_determined_by": null,
+ "gc_content": null,
+ "gender": null,
+ "volume": "60"
+ },
+ "purification": {
+ "method": null,
+ "purified": null
+ },
+ "sample_name": "GSP2",
+ "storage_conditions": null
+ },
+ "taxonomy": {
+ "common_name": "Onychomys torridus",
+ "id": 38674,
+ "organism": null,
+ "strain": null
+ }
+ },
+ "tag": {}
+ }
+ ],
+ "location": "G1",
+ "state": "passed"
+ },
+ {
+ "created_at": "2016-01-21 16:07:45 +0000",
+ "updated_at": "2016-01-21 16:08:28 +0000",
+ "plate": {
+ "actions": {
+ "read": "http://localhost:3000/final-plate-uuid"
+ },
+ "uuid": "final-plate-uuid"
+ },
+ "actions": {
+ "read": "http://localhost:3000/well-26-uuid"
+ },
+ "uuid": "well-26-uuid",
+ "aliquots": [
+ {
+ "created_at": "2016-01-21 16:07:48 +0000",
+ "updated_at": "2016-01-21 16:07:48 +0000",
+ "bait_library": null,
+ "insert_size": {},
+ "sample": {
+ "created_at": "2015-12-04 14:25:35 +0000",
+ "updated_at": "2016-01-13 11:43:58 +0000",
+ "actions": {
+ "read": "http://localhost:3000/sample-26-uuid"
+ },
+ "uuid": "sample-26-uuid",
+ "data_release": {
+ "accession_number": null,
+ "description": null,
+ "managed": {
+ "disease": null,
+ "subject": null,
+ "treatment": null
+ },
+ "metagenomics": {
+ "age": null,
+ "cell_type": null,
+ "compound": null,
+ "developmental_stage": null,
+ "disease": null,
+ "disease_state": null,
+ "dose": null,
+ "genotype": null,
+ "growth_condition": null,
+ "immunoprecipitate": null,
+ "organism_part": null,
+ "phenotype": null,
+ "rnai": null,
+ "subject": null,
+ "time_point": null,
+ "treatment": null
+ },
+ "public_name": null,
+ "sample_type": null,
+ "visibility": null
+ },
+ "family": {
+ "father": null,
+ "mother": null,
+ "replicate": null,
+ "sibling": null
+ },
+ "reference": {
+ "genome": "Not suitable for alignment"
+ },
+ "sanger": {
+ "description": null,
+ "name": "sample_26",
+ "resubmitted": false,
+ "sample_id": "sample_26"
+ },
+ "source": {
+ "cohort": null,
+ "control": false,
+ "country": null,
+ "dna_source": "Tissue",
+ "ethnicity": null,
+ "region": null
+ },
+ "supplier": {
+ "collection": {
+ "date": null
+ },
+ "extraction": {
+ "date": null,
+ "method": null
+ },
+ "measurements": {
+ "concentration": "100",
+ "concentration_determined_by": null,
+ "gc_content": null,
+ "gender": null,
+ "volume": "120"
+ },
+ "purification": {
+ "method": null,
+ "purified": null
+ },
+ "sample_name": "GB3",
+ "storage_conditions": null
+ },
+ "taxonomy": {
+ "common_name": "Onychomys torridus",
+ "id": 38674,
+ "organism": null,
+ "strain": null
+ }
+ },
+ "tag": {}
+ }
+ ],
+ "location": "G2",
+ "state": "passed"
+ },
+ {
+ "created_at": "2016-01-21 16:07:45 +0000",
+ "updated_at": "2016-01-21 16:08:28 +0000",
+ "plate": {
+ "actions": {
+ "read": "http://localhost:3000/final-plate-uuid"
+ },
+ "uuid": "final-plate-uuid"
+ },
+ "actions": {
+ "read": "http://localhost:3000/well-27-uuid"
+ },
+ "uuid": "well-27-uuid",
+ "aliquots": [
+ {
+ "created_at": "2016-01-21 16:07:48 +0000",
+ "updated_at": "2016-01-21 16:07:48 +0000",
+ "bait_library": null,
+ "insert_size": {},
+ "sample": {
+ "created_at": "2015-12-04 14:25:36 +0000",
+ "updated_at": "2016-01-13 11:43:59 +0000",
+ "actions": {
+ "read": "http://localhost:3000/sample-27-uuid"
+ },
+ "uuid": "sample-27-uuid",
+ "data_release": {
+ "accession_number": null,
+ "description": null,
+ "managed": {
+ "disease": null,
+ "subject": null,
+ "treatment": null
+ },
+ "metagenomics": {
+ "age": null,
+ "cell_type": null,
+ "compound": null,
+ "developmental_stage": null,
+ "disease": null,
+ "disease_state": null,
+ "dose": null,
+ "genotype": null,
+ "growth_condition": null,
+ "immunoprecipitate": null,
+ "organism_part": null,
+ "phenotype": null,
+ "rnai": null,
+ "subject": null,
+ "time_point": null,
+ "treatment": null
+ },
+ "public_name": null,
+ "sample_type": null,
+ "visibility": null
+ },
+ "family": {
+ "father": null,
+ "mother": null,
+ "replicate": null,
+ "sibling": null
+ },
+ "reference": {
+ "genome": "Not suitable for alignment"
+ },
+ "sanger": {
+ "description": null,
+ "name": "sample_27",
+ "resubmitted": false,
+ "sample_id": "sample_27"
+ },
+ "source": {
+ "cohort": null,
+ "control": false,
+ "country": null,
+ "dna_source": "Tissue",
+ "ethnicity": null,
+ "region": null
+ },
+ "supplier": {
+ "collection": {
+ "date": null
+ },
+ "extraction": {
+ "date": null,
+ "method": null
+ },
+ "measurements": {
+ "concentration": "5.7",
+ "concentration_determined_by": null,
+ "gc_content": null,
+ "gender": null,
+ "volume": "120"
+ },
+ "purification": {
+ "method": null,
+ "purified": null
+ },
+ "sample_name": "DA2",
+ "storage_conditions": null
+ },
+ "taxonomy": {
+ "common_name": "Mus musculus",
+ "id": 10090,
+ "organism": null,
+ "strain": null
+ }
+ },
+ "tag": {}
+ }
+ ],
+ "location": "G3",
+ "state": "passed"
+ },
+ {
+ "created_at": "2016-01-21 16:07:44 +0000",
+ "updated_at": "2016-01-21 16:08:28 +0000",
+ "plate": {
+ "actions": {
+ "read": "http://localhost:3000/final-plate-uuid"
+ },
+ "uuid": "final-plate-uuid"
+ },
+ "actions": {
+ "read": "http://localhost:3000/well-28-uuid"
+ },
+ "uuid": "well-28-uuid",
+ "aliquots": [
+ {
+ "created_at": "2016-01-21 16:07:47 +0000",
+ "updated_at": "2016-01-21 16:07:47 +0000",
+ "bait_library": null,
+ "insert_size": {},
+ "sample": {
+ "created_at": "2015-12-04 14:25:35 +0000",
+ "updated_at": "2016-01-13 11:43:58 +0000",
+ "actions": {
+ "read": "http://localhost:3000/sample-28-uuid"
+ },
+ "uuid": "sample-28-uuid",
+ "data_release": {
+ "accession_number": null,
+ "description": null,
+ "managed": {
+ "disease": null,
+ "subject": null,
+ "treatment": null
+ },
+ "metagenomics": {
+ "age": null,
+ "cell_type": null,
+ "compound": null,
+ "developmental_stage": null,
+ "disease": null,
+ "disease_state": null,
+ "dose": null,
+ "genotype": null,
+ "growth_condition": null,
+ "immunoprecipitate": null,
+ "organism_part": null,
+ "phenotype": null,
+ "rnai": null,
+ "subject": null,
+ "time_point": null,
+ "treatment": null
+ },
+ "public_name": null,
+ "sample_type": null,
+ "visibility": null
+ },
+ "family": {
+ "father": null,
+ "mother": null,
+ "replicate": null,
+ "sibling": null
+ },
+ "reference": {
+ "genome": "Not suitable for alignment"
+ },
+ "sanger": {
+ "description": null,
+ "name": "sample_28",
+ "resubmitted": false,
+ "sample_id": "sample_28"
+ },
+ "source": {
+ "cohort": null,
+ "control": false,
+ "country": null,
+ "dna_source": "Tissue",
+ "ethnicity": null,
+ "region": null
+ },
+ "supplier": {
+ "collection": {
+ "date": null
+ },
+ "extraction": {
+ "date": null,
+ "method": null
+ },
+ "measurements": {
+ "concentration": "11.8",
+ "concentration_determined_by": null,
+ "gc_content": null,
+ "gender": null,
+ "volume": "60"
+ },
+ "purification": {
+ "method": null,
+ "purified": null
+ },
+ "sample_name": "GDA2",
+ "storage_conditions": null
+ },
+ "taxonomy": {
+ "common_name": "Onychomys torridus",
+ "id": 38674,
+ "organism": null,
+ "strain": null
+ }
+ },
+ "tag": {}
+ }
+ ],
+ "location": "H1",
+ "state": "passed"
+ },
+ {
+ "created_at": "2016-01-21 16:07:45 +0000",
+ "updated_at": "2016-01-21 16:08:28 +0000",
+ "plate": {
+ "actions": {
+ "read": "http://localhost:3000/final-plate-uuid"
+ },
+ "uuid": "final-plate-uuid"
+ },
+ "actions": {
+ "read": "http://localhost:3000/well-29-uuid"
+ },
+ "uuid": "well-29-uuid",
+ "aliquots": [
+ {
+ "created_at": "2016-01-21 16:07:48 +0000",
+ "updated_at": "2016-01-21 16:07:48 +0000",
+ "bait_library": null,
+ "insert_size": {},
+ "sample": {
+ "created_at": "2015-12-04 14:25:35 +0000",
+ "updated_at": "2016-01-13 11:43:58 +0000",
+ "actions": {
+ "read": "http://localhost:3000/sample-29-uuid"
+ },
+ "uuid": "sample-29-uuid",
+ "data_release": {
+ "accession_number": null,
+ "description": null,
+ "managed": {
+ "disease": null,
+ "subject": null,
+ "treatment": null
+ },
+ "metagenomics": {
+ "age": null,
+ "cell_type": null,
+ "compound": null,
+ "developmental_stage": null,
+ "disease": null,
+ "disease_state": null,
+ "dose": null,
+ "genotype": null,
+ "growth_condition": null,
+ "immunoprecipitate": null,
+ "organism_part": null,
+ "phenotype": null,
+ "rnai": null,
+ "subject": null,
+ "time_point": null,
+ "treatment": null
+ },
+ "public_name": null,
+ "sample_type": null,
+ "visibility": null
+ },
+ "family": {
+ "father": null,
+ "mother": null,
+ "replicate": null,
+ "sibling": null
+ },
+ "reference": {
+ "genome": "Not suitable for alignment"
+ },
+ "sanger": {
+ "description": null,
+ "name": "sample_29",
+ "resubmitted": false,
+ "sample_id": "sample_29"
+ },
+ "source": {
+ "cohort": null,
+ "control": false,
+ "country": null,
+ "dna_source": "Tissue",
+ "ethnicity": null,
+ "region": null
+ },
+ "supplier": {
+ "collection": {
+ "date": null
+ },
+ "extraction": {
+ "date": null,
+ "method": null
+ },
+ "measurements": {
+ "concentration": "46.3",
+ "concentration_determined_by": null,
+ "gc_content": null,
+ "gender": null,
+ "volume": "60"
+ },
+ "purification": {
+ "method": null,
+ "purified": null
+ },
+ "sample_name": "SA1",
+ "storage_conditions": null
+ },
+ "taxonomy": {
+ "common_name": "Mus musculus",
+ "id": 10090,
+ "organism": null,
+ "strain": null
+ }
+ },
+ "tag": {}
+ }
+ ],
+ "location": "H2",
+ "state": "passed"
+ },
+ {
+ "created_at": "2016-01-21 16:07:45 +0000",
+ "updated_at": "2016-01-21 16:08:28 +0000",
+ "plate": {
+ "actions": {
+ "read": "http://localhost:3000/final-plate-uuid"
+ },
+ "uuid": "final-plate-uuid"
+ },
+ "actions": {
+ "read": "http://localhost:3000/well-30-uuid"
+ },
+ "uuid": "well-30-uuid",
+ "aliquots": [
+ {
+ "created_at": "2016-01-21 16:07:49 +0000",
+ "updated_at": "2016-01-21 16:07:49 +0000",
+ "bait_library": null,
+ "insert_size": {},
+ "sample": {
+ "created_at": "2015-12-04 14:25:36 +0000",
+ "updated_at": "2016-01-13 11:43:59 +0000",
+ "actions": {
+ "read": "http://localhost:3000/sample-30-uuid"
+ },
+ "uuid": "sample-30-uuid",
+ "data_release": {
+ "accession_number": null,
+ "description": null,
+ "managed": {
+ "disease": null,
+ "subject": null,
+ "treatment": null
+ },
+ "metagenomics": {
+ "age": null,
+ "cell_type": null,
+ "compound": null,
+ "developmental_stage": null,
+ "disease": null,
+ "disease_state": null,
+ "dose": null,
+ "genotype": null,
+ "growth_condition": null,
+ "immunoprecipitate": null,
+ "organism_part": null,
+ "phenotype": null,
+ "rnai": null,
+ "subject": null,
+ "time_point": null,
+ "treatment": null
+ },
+ "public_name": null,
+ "sample_type": null,
+ "visibility": null
+ },
+ "family": {
+ "father": null,
+ "mother": null,
+ "replicate": null,
+ "sibling": null
+ },
+ "reference": {
+ "genome": "Not suitable for alignment"
+ },
+ "sanger": {
+ "description": null,
+ "name": "sample_30",
+ "resubmitted": false,
+ "sample_id": "sample_30"
+ },
+ "source": {
+ "cohort": null,
+ "control": false,
+ "country": null,
+ "dna_source": "Tissue",
+ "ethnicity": null,
+ "region": null
+ },
+ "supplier": {
+ "collection": {
+ "date": null
+ },
+ "extraction": {
+ "date": null,
+ "method": null
+ },
+ "measurements": {
+ "concentration": "15.8",
+ "concentration_determined_by": null,
+ "gc_content": null,
+ "gender": null,
+ "volume": "120"
+ },
+ "purification": {
+ "method": null,
+ "purified": null
+ },
+ "sample_name": "DP2",
+ "storage_conditions": null
+ },
+ "taxonomy": {
+ "common_name": "Mus musculus",
+ "id": 10090,
+ "organism": null,
+ "strain": null
+ }
+ },
+ "tag": {}
+ }
+ ],
+ "location": "H3",
+ "state": "passed"
+ }
+ ]
+}
\ No newline at end of file
diff --git a/spec/contracts/find-assets-by-barcode-first-ilc-stock-plate-with-metadata.txt b/spec/contracts/find-assets-by-barcode-first-ilc-stock-plate-with-metadata.txt
new file mode 100644
index 0000000..ca1a3cc
--- /dev/null
+++ b/spec/contracts/find-assets-by-barcode-first-ilc-stock-plate-with-metadata.txt
@@ -0,0 +1,241 @@
+HTTP/1.1 301 OK
+Content-Type: application/json
+
+{
+ "plate": {
+ "created_at": "2016-09-28 09:42:08 +0100",
+ "updated_at": "2016-09-28 09:42:08 +0100",
+ "comments": {
+ "size": 0,
+ "actions": {
+ "read": "http://localhost:3000/ilc-stock-plate-with-metadata-uuid/comments",
+ "create": "http://localhost:3000/ilc-stock-plate-with-metadata-uuid/comments"
+ }
+ },
+ "wells": {
+ "size": 96,
+ "actions": {
+ "read": "http://localhost:3000/ilc-stock-plate-with-metadata-uuid/wells"
+ }
+ },
+ "submission_pools": {
+ "size": 3,
+ "actions": {
+ "read": "http://localhost:3000/ilc-stock-plate-with-metadata-uuid/submission_pools"
+ }
+ },
+ "requests": {
+ "size": 0,
+ "actions": {
+ "read": "http://localhost:3000/ilc-stock-plate-with-metadata-uuid/requests"
+ }
+ },
+ "custom_metadatum_collection": {
+ "actions": {
+ "read": "http://localhost:3000/custom-metadatum-collection-uuid",
+ "update": "http://localhost:3000/custom-metadatum-collection-uuid"
+ },
+ "uuid": "custom-metadatum-collection-uuid"
+ },
+ "qc_files": {
+ "size": 0,
+ "actions": {
+ "read": "http://localhost:3000/ilc-stock-plate-with-metadata-uuid/qc_files",
+ "create": "http://localhost:3000/ilc-stock-plate-with-metadata-uuid/qc_files"
+ }
+ },
+ "source_transfers": {
+ "size": 0,
+ "actions": {
+ "read": "http://localhost:3000/ilc-stock-plate-with-metadata-uuid/source_transfers"
+ }
+ },
+ "transfers_to_tubes": {
+ "size": 0,
+ "actions": {
+ "read": "http://localhost:3000/ilc-stock-plate-with-metadata-uuid/transfers_to_tubes"
+ }
+ },
+ "creation_transfers": {
+ "size": 0,
+ "actions": {
+ "read": "http://localhost:3000/ilc-stock-plate-with-metadata-uuid/creation_transfers"
+ }
+ },
+ "plate_purpose": {
+ "actions": {
+ "read": "http://localhost:3000/ilc-stock-plate-purpose-uuid"
+ },
+ "uuid": "ilc-stock-plate-purpose-uuid",
+ "lifespan": null,
+ "name": "ILC Stock"
+ },
+ "actions": {
+ "read": "http://localhost:3000/ilc-stock-plate-with-metadata-uuid"
+ },
+ "uuid": "ilc-stock-plate-with-metadata-uuid",
+ "name": "Plate 10",
+ "qc_state": null,
+ "barcode": {
+ "ean13": "1220000010734",
+ "number": "10",
+ "prefix": "DN",
+ "two_dimensional": null,
+ "type": 1
+ },
+ "iteration": null,
+ "label": {
+ "prefix": "No PCR (Plate) ",
+ "text": "ILC Stock"
+ },
+ "location": "Library creation freezer",
+ "pools": {
+ "submission-1-uuid": {
+ "wells": [
+ "A1",
+ "A2",
+ "A3",
+ "A4",
+ "B1",
+ "B2",
+ "B3",
+ "B4",
+ "C1",
+ "C2",
+ "C3",
+ "C4",
+ "D1",
+ "D2",
+ "D3",
+ "D4",
+ "E1",
+ "E2",
+ "E3",
+ "E4",
+ "F1",
+ "F2",
+ "F3",
+ "F4",
+ "G1",
+ "G2",
+ "G3",
+ "G4",
+ "H1",
+ "H2",
+ "H3",
+ "H4"
+ ],
+ "insert_size": {
+ "from": 50,
+ "to": 100
+ },
+ "library_type": {
+ "name": "No PCR (Plate)"
+ },
+ "request_type": "Illumina-C Library Creation No PCR"
+ },
+ "submission-2-uuid": {
+ "wells": [
+ "A5",
+ "A6",
+ "A7",
+ "A8",
+ "B5",
+ "B6",
+ "B7",
+ "B8",
+ "C5",
+ "C6",
+ "C7",
+ "C8",
+ "D5",
+ "D6",
+ "D7",
+ "D8",
+ "E5",
+ "E6",
+ "E7",
+ "E8",
+ "F5",
+ "F6",
+ "F7",
+ "F8",
+ "G5",
+ "G6",
+ "G7",
+ "G8",
+ "H5",
+ "H6",
+ "H7",
+ "H8"
+ ],
+ "insert_size": {
+ "from": 50,
+ "to": 100
+ },
+ "library_type": {
+ "name": "No PCR (Plate)"
+ },
+ "request_type": "Illumina-C Library Creation No PCR"
+ },
+ "submission-3-uuid": {
+ "wells": [
+ "A9",
+ "A10",
+ "A11",
+ "A12",
+ "B9",
+ "B10",
+ "B11",
+ "B12",
+ "C9",
+ "C10",
+ "C11",
+ "C12",
+ "D9",
+ "D10",
+ "D11",
+ "D12",
+ "E9",
+ "E10",
+ "E11",
+ "E12",
+ "F9",
+ "F10",
+ "F11",
+ "F12",
+ "G9",
+ "G10",
+ "G11",
+ "G12",
+ "H9",
+ "H10",
+ "H11",
+ "H12"
+ ],
+ "insert_size": {
+ "from": 50,
+ "to": 100
+ },
+ "library_type": {
+ "name": "No PCR (Plate)"
+ },
+ "request_type": "Illumina-C Library Creation No PCR"
+ }
+ },
+ "pre_cap_groups": {},
+ "priority": 0,
+ "size": 96,
+ "state": "passed",
+ "stock_plate": {
+ "barcode": {
+ "ean13": "1111111111111",
+ "number": "10",
+ "prefix": "DN",
+ "two_dimensional": null,
+ "type": 1
+ },
+ "uuid": "ilc-stock-plate-with-metadata-uuid"
+ }
+ }
+}
\ No newline at end of file
diff --git a/spec/contracts/find-assets-by-barcode-first-ilc-stock-plate.txt b/spec/contracts/find-assets-by-barcode-first-ilc-stock-plate.txt
new file mode 100644
index 0000000..56ff1fb
--- /dev/null
+++ b/spec/contracts/find-assets-by-barcode-first-ilc-stock-plate.txt
@@ -0,0 +1,234 @@
+HTTP/1.1 301 OK
+Content-Type: application/json
+
+{
+ "plate": {
+ "created_at": "2016-09-28 09:42:08 +0100",
+ "updated_at": "2016-09-28 09:42:08 +0100",
+ "comments": {
+ "size": 0,
+ "actions": {
+ "read": "http://localhost:3000/ilc-stock-plate-uuid/comments",
+ "create": "http://localhost:3000/ilc-stock-plate-uuid/comments"
+ }
+ },
+ "wells": {
+ "size": 96,
+ "actions": {
+ "read": "http://localhost:3000/ilc-stock-plate-uuid/wells"
+ }
+ },
+ "submission_pools": {
+ "size": 3,
+ "actions": {
+ "read": "http://localhost:3000/ilc-stock-plate-uuid/submission_pools"
+ }
+ },
+ "requests": {
+ "size": 0,
+ "actions": {
+ "read": "http://localhost:3000/ilc-stock-plate-uuid/requests"
+ }
+ },
+ "qc_files": {
+ "size": 0,
+ "actions": {
+ "read": "http://localhost:3000/ilc-stock-plate-uuid/qc_files",
+ "create": "http://localhost:3000/ilc-stock-plate-uuid/qc_files"
+ }
+ },
+ "source_transfers": {
+ "size": 0,
+ "actions": {
+ "read": "http://localhost:3000/ilc-stock-plate-uuid/source_transfers"
+ }
+ },
+ "transfers_to_tubes": {
+ "size": 0,
+ "actions": {
+ "read": "http://localhost:3000/ilc-stock-plate-uuid/transfers_to_tubes"
+ }
+ },
+ "creation_transfers": {
+ "size": 0,
+ "actions": {
+ "read": "http://localhost:3000/ilc-stock-plate-uuid/creation_transfers"
+ }
+ },
+ "plate_purpose": {
+ "actions": {
+ "read": "http://localhost:3000/ilc-stock-plate-purpose-uuid"
+ },
+ "uuid": "ilc-stock-plate-purpose-uuid",
+ "lifespan": null,
+ "name": "ILC Stock"
+ },
+ "actions": {
+ "read": "http://localhost:3000/ilc-stock-plate-uuid"
+ },
+ "uuid": "ilc-stock-plate-uuid",
+ "name": "Plate 10",
+ "qc_state": null,
+ "barcode": {
+ "ean13": "1220000010734",
+ "number": "10",
+ "prefix": "DN",
+ "two_dimensional": null,
+ "type": 1
+ },
+ "iteration": null,
+ "label": {
+ "prefix": "No PCR (Plate) ",
+ "text": "ILC Stock"
+ },
+ "location": "Library creation freezer",
+ "pools": {
+ "submission-1-uuid": {
+ "wells": [
+ "A1",
+ "A2",
+ "A3",
+ "A4",
+ "B1",
+ "B2",
+ "B3",
+ "B4",
+ "C1",
+ "C2",
+ "C3",
+ "C4",
+ "D1",
+ "D2",
+ "D3",
+ "D4",
+ "E1",
+ "E2",
+ "E3",
+ "E4",
+ "F1",
+ "F2",
+ "F3",
+ "F4",
+ "G1",
+ "G2",
+ "G3",
+ "G4",
+ "H1",
+ "H2",
+ "H3",
+ "H4"
+ ],
+ "insert_size": {
+ "from": 50,
+ "to": 100
+ },
+ "library_type": {
+ "name": "No PCR (Plate)"
+ },
+ "request_type": "Illumina-C Library Creation No PCR"
+ },
+ "submission-2-uuid": {
+ "wells": [
+ "A5",
+ "A6",
+ "A7",
+ "A8",
+ "B5",
+ "B6",
+ "B7",
+ "B8",
+ "C5",
+ "C6",
+ "C7",
+ "C8",
+ "D5",
+ "D6",
+ "D7",
+ "D8",
+ "E5",
+ "E6",
+ "E7",
+ "E8",
+ "F5",
+ "F6",
+ "F7",
+ "F8",
+ "G5",
+ "G6",
+ "G7",
+ "G8",
+ "H5",
+ "H6",
+ "H7",
+ "H8"
+ ],
+ "insert_size": {
+ "from": 50,
+ "to": 100
+ },
+ "library_type": {
+ "name": "No PCR (Plate)"
+ },
+ "request_type": "Illumina-C Library Creation No PCR"
+ },
+ "submission-3-uuid": {
+ "wells": [
+ "A9",
+ "A10",
+ "A11",
+ "A12",
+ "B9",
+ "B10",
+ "B11",
+ "B12",
+ "C9",
+ "C10",
+ "C11",
+ "C12",
+ "D9",
+ "D10",
+ "D11",
+ "D12",
+ "E9",
+ "E10",
+ "E11",
+ "E12",
+ "F9",
+ "F10",
+ "F11",
+ "F12",
+ "G9",
+ "G10",
+ "G11",
+ "G12",
+ "H9",
+ "H10",
+ "H11",
+ "H12"
+ ],
+ "insert_size": {
+ "from": 50,
+ "to": 100
+ },
+ "library_type": {
+ "name": "No PCR (Plate)"
+ },
+ "request_type": "Illumina-C Library Creation No PCR"
+ }
+ },
+ "pre_cap_groups": {},
+ "priority": 0,
+ "size": 96,
+ "state": "passed",
+ "stock_plate": {
+ "barcode": {
+ "ean13": "1111111111111",
+ "number": "10",
+ "prefix": "DN",
+ "two_dimensional": null,
+ "type": 1
+ },
+ "uuid": "ilc-stock-plate-uuid"
+ }
+ }
+}
\ No newline at end of file
diff --git a/spec/contracts/find-assets-by-barcode-first.txt b/spec/contracts/find-assets-by-barcode-first.txt
new file mode 100644
index 0000000..6522833
--- /dev/null
+++ b/spec/contracts/find-assets-by-barcode-first.txt
@@ -0,0 +1,244 @@
+HTTP/1.1 301 OK
+Content-Type: application/json
+
+{
+ "plate": {
+ "created_at": "2016-09-16 10:14:03 +0100",
+ "updated_at": "2016-09-16 10:14:04 +0100",
+ "comments": {
+ "size": 0,
+ "actions": {
+ "read": "http://localhost:3000/final-plate-uuid/comments"
+ }
+ },
+ "wells": {
+ "size": 96,
+ "actions": {
+ "read": "http://localhost:3000/final-plate-uuid/wells"
+ }
+ },
+ "submission_pools": {
+ "size": 4,
+ "actions": {
+ "read": "http://localhost:3000/final-plate-uuid/submission_pools"
+ }
+ },
+ "requests": {
+ "size": 0,
+ "actions": {
+ "read": "http://localhost:3000/final-plate-uuid/requests"
+ }
+ },
+ "qc_files": {
+ "size": 0,
+ "actions": {
+ "read": "http://localhost:3000/final-plate-uuid/qc_files"
+ }
+ },
+ "source_transfers": {
+ "size": 1,
+ "actions": {
+ "read": "http://localhost:3000/final-plate-uuid/source_transfers"
+ }
+ },
+ "transfers_to_tubes": {
+ "size": 1,
+ "actions": {
+ "read": "http://localhost:3000/final-plate-uuid/transfers_to_tubes"
+ }
+ },
+ "creation_transfers": {
+ "size": 1,
+ "actions": {
+ "read": "http://localhost:3000/final-plate-uuid/creation_transfers"
+ }
+ },
+ "plate_purpose": {
+ "actions": {
+ "read": "http://localhost:3000/ilc-al-libs-tagged-uuid"
+ },
+ "uuid": "ilc-al-libs-tagged-uuid",
+ "lifespan": null,
+ "name": "ILC AL Libs Tagged"
+ },
+ "actions": {
+ "read": "http://localhost:3000/final-plate-uuid"
+ },
+ "uuid": "final-plate-uuid",
+ "name": "Plate 9000003",
+ "qc_state": null,
+ "barcode": {
+ "ean13": "0123456789012",
+ "number": "9000003",
+ "prefix": "DN",
+ "two_dimensional": null,
+ "type": 1
+ },
+ "iteration": 1,
+ "label": {
+ "prefix": "No PCR (Plate) ",
+ "text": "ILC AL Libs Tagged"
+ },
+ "location": "Library creation freezer",
+ "pools": {
+ "submission-1-uuid": {
+ "wells": [
+ "A4",
+ "A5",
+ "A6",
+ "B4",
+ "B5",
+ "B6",
+ "C4",
+ "C5",
+ "C6",
+ "D4",
+ "D5",
+ "D6",
+ "E4",
+ "E5",
+ "E6",
+ "F4",
+ "F5",
+ "F6",
+ "G4",
+ "G5",
+ "G6",
+ "H4",
+ "H5",
+ "H6"
+ ],
+ "insert_size": {
+ "from": 100,
+ "to": 150
+ },
+ "library_type": {
+ "name": "No PCR (Plate)"
+ },
+ "request_type": "Illumina-C Library Creation No PCR"
+ },
+ "submission-2-uuid": {
+ "wells": [
+ "A7",
+ "A8",
+ "A9",
+ "B7",
+ "B8",
+ "B9",
+ "C7",
+ "C8",
+ "C9",
+ "D7",
+ "D8",
+ "D9",
+ "E7",
+ "E8",
+ "E9",
+ "F7",
+ "F8",
+ "F9",
+ "G7",
+ "G8",
+ "G9",
+ "H7",
+ "H8",
+ "H9"
+ ],
+ "insert_size": {
+ "from": 100,
+ "to": 150
+ },
+ "library_type": {
+ "name": "No PCR (Plate)"
+ },
+ "request_type": "Illumina-C Library Creation No PCR"
+ },
+ "submission-3-uuid": {
+ "wells": [
+ "A10",
+ "A11",
+ "A12",
+ "B10",
+ "B11",
+ "B12",
+ "C10",
+ "C11",
+ "C12",
+ "D10",
+ "D11",
+ "D12",
+ "E10",
+ "E11",
+ "E12",
+ "F10",
+ "F11",
+ "F12",
+ "G10",
+ "G11",
+ "G12",
+ "H10",
+ "H11",
+ "H12"
+ ],
+ "insert_size": {
+ "from": 100,
+ "to": 150
+ },
+ "library_type": {
+ "name": "No PCR (Plate)"
+ },
+ "request_type": "Illumina-C Library Creation No PCR"
+ },
+ "submission-4-uuid": {
+ "wells": [
+ "A1",
+ "A2",
+ "A3",
+ "B1",
+ "B2",
+ "B3",
+ "C1",
+ "C2",
+ "C3",
+ "D1",
+ "D2",
+ "D3",
+ "E1",
+ "E2",
+ "E3",
+ "F1",
+ "F2",
+ "F3",
+ "G1",
+ "G2",
+ "G3",
+ "H1",
+ "H2",
+ "H3"
+ ],
+ "insert_size": {
+ "from": 100,
+ "to": 150
+ },
+ "library_type": {
+ "name": "No PCR (Plate)"
+ },
+ "request_type": "Illumina-C Library Creation No PCR"
+ }
+ },
+ "pre_cap_groups": {},
+ "priority": 0,
+ "size": 96,
+ "state": "qc_complete",
+ "stock_plate": {
+ "barcode": {
+ "ean13": "9876543210987",
+ "number": "12",
+ "prefix": "DN",
+ "two_dimensional": null,
+ "type": 1
+ },
+ "uuid": "stock-plate-uuid"
+ }
+ }
+}
\ No newline at end of file
diff --git a/spec/contracts/find-assets-by-barcode-uuid.txt b/spec/contracts/find-assets-by-barcode-uuid.txt
new file mode 100644
index 0000000..7dc4cbe
--- /dev/null
+++ b/spec/contracts/find-assets-by-barcode-uuid.txt
@@ -0,0 +1,17 @@
+HTTP/1.1 200 OK
+Content-Type: application/json
+
+{
+ "search": {
+ "created_at": "2016-09-15 15:46:59 +0100",
+ "updated_at": "2016-09-15 15:46:59 +0100",
+ "actions": {
+ "read": "http://localhost:3000/find-assets-by-barcode-uuid",
+ "first": "http://localhost:3000/find-assets-by-barcode-uuid/first",
+ "last": "http://localhost:3000/find-assets-by-barcode-uuid/last",
+ "all": "http://localhost:3000/find-assets-by-barcode-uuid/all"
+ },
+ "uuid": "find-assets-by-barcode-uuid",
+ "name": "Find assets by barcode"
+ }
+}
\ No newline at end of file
diff --git a/spec/contracts/find-qcable-by-barcode-uuid.txt b/spec/contracts/find-qcable-by-barcode-uuid.txt
new file mode 100644
index 0000000..aeda46f
--- /dev/null
+++ b/spec/contracts/find-qcable-by-barcode-uuid.txt
@@ -0,0 +1,4 @@
+HTTP/1.1 200 OK
+Content-Type: application/json
+
+{"search":{"created_at":"2014-04-16 14:09:07 +0100","updated_at":"2014-04-16 14:09:07 +0100","actions":{"read":"http://localhost:3000/find-qcable-by-barcode-uuid","first":"http://localhost:3000/find-qcable-by-barcode-uuid/first","last":"http://localhost:3000/find-qcable-by-barcode-uuid/last","all":"http://localhost:3000/find-qcable-by-barcode-uuid/all","first":"http://localhost:3000/find-qcable-by-barcode-uuid/first","last":"http://localhost:3000/find-qcable-by-barcode-uuid/last","all":"http://localhost:3000/find-qcable-by-barcode-uuid/all"},"uuid":"find-qcable-by-barcode-uuid","name":"Find qcable by barcode"}}
diff --git a/spec/contracts/find-user-by-swipecard-first.txt b/spec/contracts/find-user-by-swipecard-first.txt
new file mode 100644
index 0000000..75cbe2d
--- /dev/null
+++ b/spec/contracts/find-user-by-swipecard-first.txt
@@ -0,0 +1,19 @@
+HTTP/1.1 301 OK
+Content-Type: application/json
+
+{
+ "user": {
+ "created_at": "2016-09-15 15:47:39 +0100",
+ "updated_at": "2016-09-15 15:47:39 +0100",
+ "actions": {
+ "read": "http://localhost:3000/api/1/user-uuid"
+ },
+ "uuid": "user-uuid",
+ "barcode": "ID99A",
+ "email": null,
+ "first_name": null,
+ "has_a_swipecard_code": true,
+ "last_name": null,
+ "login": "admin"
+ }
+}
\ No newline at end of file
diff --git a/spec/contracts/find-user-by-swipecard-uuid.txt b/spec/contracts/find-user-by-swipecard-uuid.txt
new file mode 100644
index 0000000..9b5e111
--- /dev/null
+++ b/spec/contracts/find-user-by-swipecard-uuid.txt
@@ -0,0 +1,17 @@
+HTTP/1.1 200 OK
+Content-Type: application/json
+
+{
+ "search": {
+ "created_at": "2016-09-15 15:46:59 +0100",
+ "updated_at": "2016-09-15 15:46:59 +0100",
+ "actions": {
+ "read": "http://localhost:3000/find-user-by-swipecard-uuid",
+ "first": "http://localhost:3000/find-user-by-swipecard-uuid/first",
+ "last": "http://localhost:3000/find-user-by-swipecard-uuid/last",
+ "all": "http://localhost:3000/find-user-by-swipecard-uuid/all"
+ },
+ "uuid": "find-user-by-swipecard-uuid",
+ "name": "Find user by swipecard code"
+ }
+}
\ No newline at end of file
diff --git a/spec/contracts/ilc-al-libs-tagged-children.txt b/spec/contracts/ilc-al-libs-tagged-children.txt
new file mode 100644
index 0000000..6248792
--- /dev/null
+++ b/spec/contracts/ilc-al-libs-tagged-children.txt
@@ -0,0 +1,55 @@
+HTTP/1.1 200 OK
+Content-Type: application/json
+
+{
+ "actions": {
+ "read": "http://localhost:3000/ilc-al-libs-tagged-uuid/children/1",
+ "first": "http://localhost:3000/ilc-al-libs-tagged-uuid/children/1",
+ "last": "http://localhost:3000/ilc-al-libs-tagged-uuid/children/1"
+ },
+ "size": 2,
+ "purposes": [
+ {
+ "created_at": "2016-09-15 15:46:57 +0100",
+ "updated_at": "2016-09-15 15:46:57 +0100",
+ "children": {
+ "size": 0,
+ "actions": {
+ "read": "http://localhost:3000/ilc-qc-pool-uuid/children"
+ }
+ },
+ "tubes": {
+ "size": 1,
+ "actions": {
+ "read": "http://localhost:3000/ilc-qc-pool-uuid/tubes"
+ }
+ },
+ "actions": {
+ "read": "http://localhost:3000/ilc-qc-pool-uuid"
+ },
+ "uuid": "ilc-qc-pool-uuid",
+ "name": "ILC QC Pool"
+ },
+ {
+ "created_at": "2016-09-15 15:46:57 +0100",
+ "updated_at": "2016-09-15 15:46:57 +0100",
+ "children": {
+ "size": 0,
+ "actions": {
+ "read": "http://localhost:3000/ilc-lib-pool-norm-uuid/children"
+ }
+ },
+ "tubes": {
+ "size": 12,
+ "actions": {
+ "read": "http://localhost:3000/ilc-lib-pool-norm-uuid/tubes"
+ }
+ },
+ "actions": {
+ "read": "http://localhost:3000/ilc-lib-pool-norm-uuid"
+ },
+ "uuid": "ilc-lib-pool-norm-uuid",
+ "name": "ILC Lib Pool Norm"
+ }
+ ]
+}
\ No newline at end of file
diff --git a/spec/contracts/ilc-al-libs-tagged-uuid.txt b/spec/contracts/ilc-al-libs-tagged-uuid.txt
new file mode 100644
index 0000000..5e7d508
--- /dev/null
+++ b/spec/contracts/ilc-al-libs-tagged-uuid.txt
@@ -0,0 +1,26 @@
+HTTP/1.1 200 OK
+Content-Type: application/json
+
+{
+ "plate_purpose": {
+ "created_at": "2016-09-15 15:46:57 +0100",
+ "updated_at": "2016-09-15 15:46:57 +0100",
+ "children": {
+ "size": 2,
+ "actions": {
+ "read": "http://localhost:3000/ilc-al-libs-tagged-uuid/children"
+ }
+ },
+ "plates": {
+ "size": 3,
+ "actions": {
+ "read": "http://localhost:3000/ilc-al-libs-tagged-uuid/plates"
+ }
+ },
+ "actions": {
+ "read": "http://localhost:3000/ilc-al-libs-tagged-uuid"
+ },
+ "uuid": "ilc-al-libs-tagged-uuid",
+ "name": "ILC AL Libs Tagged"
+ }
+}
diff --git a/spec/contracts/ilc-al-libs-uuid.txt b/spec/contracts/ilc-al-libs-uuid.txt
new file mode 100644
index 0000000..96f3a60
--- /dev/null
+++ b/spec/contracts/ilc-al-libs-uuid.txt
@@ -0,0 +1,27 @@
+HTTP/1.1 200 OK
+Content-Type: application/json
+
+{
+ "plate_purpose": {
+ "created_at": "2016-09-28 09:35:15 +0100",
+ "updated_at": "2016-09-28 09:35:15 +0100",
+ "children": {
+ "size": 1,
+ "actions": {
+ "read": "http://localhost:3000/ilc-al-libs-uuid/children"
+ }
+ },
+ "plates": {
+ "size": 0,
+ "actions": {
+ "read": "http://localhost:3000/ilc-al-libs-uuid/plates",
+ "create": "http://localhost:3000/ilc-al-libs-uuid/plates"
+ }
+ },
+ "actions": {
+ "read": "http://localhost:3000/ilc-al-libs-uuid"
+ },
+ "uuid": "ilc-al-libs-uuid",
+ "name": "ILC AL Libs"
+ }
+}
\ No newline at end of file
diff --git a/spec/contracts/ilc-stock-plate-comments.txt b/spec/contracts/ilc-stock-plate-comments.txt
new file mode 100644
index 0000000..1ea100e
--- /dev/null
+++ b/spec/contracts/ilc-stock-plate-comments.txt
@@ -0,0 +1,12 @@
+HTTP/1.1 200 OK
+Content-Type: application/json
+
+{
+ "actions": {
+ "read": "http://localhost:3000/ilc-stock-plate-uuid/comments/1",
+ "first": "http://localhost:3000/ilc-stock-plate-uuid/comments/1",
+ "last": "http://localhost:3000/ilc-stock-plate-uuid/comments/1"
+ },
+ "size": 0,
+ "comments": []
+}
\ No newline at end of file
diff --git a/spec/contracts/ilc-stock-plate-submission-pools-dual.txt b/spec/contracts/ilc-stock-plate-submission-pools-dual.txt
new file mode 100644
index 0000000..479e059
--- /dev/null
+++ b/spec/contracts/ilc-stock-plate-submission-pools-dual.txt
@@ -0,0 +1,22 @@
+HTTP/1.1 200 OK
+Content-Type: application/json
+
+{
+ "actions": {
+ "read": "http://localhost:3000/ilc-stock-plate-uuid/submission_pools/1",
+ "first": "http://localhost:3000/ilc-stock-plate-uuid/submission_pools/1",
+ "last": "http://localhost:3000/ilc-stock-plate-uuid/submission_pools/1"
+ },
+ "size": 1,
+ "submission_pools": [
+ {
+ "plates_in_submission": 2,
+ "used_tag2_layout_templates": [
+ {
+ "uuid": "used-tag2-template-uuid",
+ "name": "Used template"
+ }
+ ]
+ }
+ ]
+}
diff --git a/spec/contracts/ilc-stock-plate-submission-pools-single.txt b/spec/contracts/ilc-stock-plate-submission-pools-single.txt
new file mode 100644
index 0000000..19d3106
--- /dev/null
+++ b/spec/contracts/ilc-stock-plate-submission-pools-single.txt
@@ -0,0 +1,17 @@
+HTTP/1.1 200 OK
+Content-Type: application/json
+
+{
+ "actions": {
+ "read": "http://localhost:3000/ilc-stock-plate-uuid/submission_pools/1",
+ "first": "http://localhost:3000/ilc-stock-plate-uuid/submission_pools/1",
+ "last": "http://localhost:3000/ilc-stock-plate-uuid/submission_pools/1"
+ },
+ "size": 1,
+ "submission_pools": [
+ {
+ "plates_in_submission": 1,
+ "used_tag2_layout_templates": []
+ }
+ ]
+}
diff --git a/spec/contracts/ilc-stock-plate-wells.txt b/spec/contracts/ilc-stock-plate-wells.txt
new file mode 100644
index 0000000..5b517c3
--- /dev/null
+++ b/spec/contracts/ilc-stock-plate-wells.txt
@@ -0,0 +1,3433 @@
+HTTP/1.1 200 OK
+Content-Type: application/json
+
+{
+ "actions": {
+ "read": "http://localhost:3000/ilc-stock-plate-uuid/wells/1",
+ "first": "http://localhost:3000/ilc-stock-plate-uuid/wells/1",
+ "last": "http://localhost:3000/ilc-stock-plate-uuid/wells/1"
+ },
+ "size": 30,
+ "wells": [
+ {
+ "created_at": "2016-01-21 16:07:44 +0000",
+ "updated_at": "2016-01-21 16:08:28 +0000",
+ "plate": {
+ "actions": {
+ "read": "http://localhost:3000/ilc-stock-plate-uuid"
+ },
+ "uuid": "ilc-stock-plate-uuid"
+ },
+ "actions": {
+ "read": "http://localhost:3000/well-1-uuid"
+ },
+ "uuid": "well-1-uuid",
+ "aliquots": [
+ {
+ "created_at": "2016-01-21 16:07:46 +0000",
+ "updated_at": "2016-01-21 16:07:46 +0000",
+ "bait_library": null,
+ "insert_size": {},
+ "sample": {
+ "created_at": "2015-12-04 14:25:35 +0000",
+ "updated_at": "2016-01-13 11:43:58 +0000",
+ "actions": {
+ "read": "http://localhost:3000/sample-1-uuid"
+ },
+ "uuid": "sample-1-uuid",
+ "data_release": {
+ "accession_number": null,
+ "description": null,
+ "managed": {
+ "disease": null,
+ "subject": null,
+ "treatment": null
+ },
+ "metagenomics": {
+ "age": null,
+ "cell_type": null,
+ "compound": null,
+ "developmental_stage": null,
+ "disease": null,
+ "disease_state": null,
+ "dose": null,
+ "genotype": null,
+ "growth_condition": null,
+ "immunoprecipitate": null,
+ "organism_part": null,
+ "phenotype": null,
+ "rnai": null,
+ "subject": null,
+ "time_point": null,
+ "treatment": null
+ },
+ "public_name": null,
+ "sample_type": null,
+ "visibility": null
+ },
+ "family": {
+ "father": null,
+ "mother": null,
+ "replicate": null,
+ "sibling": null
+ },
+ "reference": {
+ "genome": "Not suitable for alignment"
+ },
+ "sanger": {
+ "description": null,
+ "name": "sample_1",
+ "resubmitted": false,
+ "sample_id": "sample_1"
+ },
+ "source": {
+ "cohort": null,
+ "control": false,
+ "country": null,
+ "dna_source": "Tissue",
+ "ethnicity": null,
+ "region": null
+ },
+ "supplier": {
+ "collection": {
+ "date": null
+ },
+ "extraction": {
+ "date": null,
+ "method": null
+ },
+ "measurements": {
+ "concentration": "21.4",
+ "concentration_determined_by": null,
+ "gc_content": null,
+ "gender": null,
+ "volume": "60"
+ },
+ "purification": {
+ "method": null,
+ "purified": null
+ },
+ "sample_name": "GSA1",
+ "storage_conditions": null
+ },
+ "taxonomy": {
+ "common_name": "Onychomys torridus",
+ "id": 38674,
+ "organism": null,
+ "strain": null
+ }
+ },
+ "tag": {}
+ }
+ ],
+ "location": "A1",
+ "state": "passed"
+ },
+ {
+ "created_at": "2016-01-21 16:07:44 +0000",
+ "updated_at": "2016-01-21 16:08:28 +0000",
+ "plate": {
+ "actions": {
+ "read": "http://localhost:3000/ilc-stock-plate-uuid"
+ },
+ "uuid": "ilc-stock-plate-uuid"
+ },
+ "actions": {
+ "read": "http://localhost:3000/well-2-uuid"
+ },
+ "uuid": "well-2-uuid",
+ "aliquots": [
+ {
+ "created_at": "2016-01-21 16:07:47 +0000",
+ "updated_at": "2016-01-21 16:07:47 +0000",
+ "bait_library": null,
+ "insert_size": {},
+ "sample": {
+ "created_at": "2015-12-04 14:25:35 +0000",
+ "updated_at": "2016-01-13 11:43:58 +0000",
+ "actions": {
+ "read": "http://localhost:3000/sample-2-uuid"
+ },
+ "uuid": "sample-2-uuid",
+ "data_release": {
+ "accession_number": null,
+ "description": null,
+ "managed": {
+ "disease": null,
+ "subject": null,
+ "treatment": null
+ },
+ "metagenomics": {
+ "age": null,
+ "cell_type": null,
+ "compound": null,
+ "developmental_stage": null,
+ "disease": null,
+ "disease_state": null,
+ "dose": null,
+ "genotype": null,
+ "growth_condition": null,
+ "immunoprecipitate": null,
+ "organism_part": null,
+ "phenotype": null,
+ "rnai": null,
+ "subject": null,
+ "time_point": null,
+ "treatment": null
+ },
+ "public_name": null,
+ "sample_type": null,
+ "visibility": null
+ },
+ "family": {
+ "father": null,
+ "mother": null,
+ "replicate": null,
+ "sibling": null
+ },
+ "reference": {
+ "genome": "Not suitable for alignment"
+ },
+ "sanger": {
+ "description": null,
+ "name": "sample_2",
+ "resubmitted": false,
+ "sample_id": "sample_2"
+ },
+ "source": {
+ "cohort": null,
+ "control": false,
+ "country": null,
+ "dna_source": "Tissue",
+ "ethnicity": null,
+ "region": null
+ },
+ "supplier": {
+ "collection": {
+ "date": null
+ },
+ "extraction": {
+ "date": null,
+ "method": null
+ },
+ "measurements": {
+ "concentration": "14.1",
+ "concentration_determined_by": null,
+ "gc_content": null,
+ "gender": null,
+ "volume": "60"
+ },
+ "purification": {
+ "method": null,
+ "purified": null
+ },
+ "sample_name": "GDP2",
+ "storage_conditions": null
+ },
+ "taxonomy": {
+ "common_name": "Onychomys torridus",
+ "id": 38674,
+ "organism": null,
+ "strain": null
+ }
+ },
+ "tag": {}
+ }
+ ],
+ "location": "A2",
+ "state": "passed"
+ },
+ {
+ "created_at": "2016-01-21 16:07:45 +0000",
+ "updated_at": "2016-01-21 16:08:28 +0000",
+ "plate": {
+ "actions": {
+ "read": "http://localhost:3000/ilc-stock-plate-uuid"
+ },
+ "uuid": "ilc-stock-plate-uuid"
+ },
+ "actions": {
+ "read": "http://localhost:3000/well-3-uuid"
+ },
+ "uuid": "well-3-uuid",
+ "aliquots": [
+ {
+ "created_at": "2016-01-21 16:07:48 +0000",
+ "updated_at": "2016-01-21 16:07:48 +0000",
+ "bait_library": null,
+ "insert_size": {},
+ "sample": {
+ "created_at": "2015-12-04 14:25:35 +0000",
+ "updated_at": "2016-01-13 11:43:58 +0000",
+ "actions": {
+ "read": "http://localhost:3000/sample-3-uuid"
+ },
+ "uuid": "sample-3-uuid",
+ "data_release": {
+ "accession_number": null,
+ "description": null,
+ "managed": {
+ "disease": null,
+ "subject": null,
+ "treatment": null
+ },
+ "metagenomics": {
+ "age": null,
+ "cell_type": null,
+ "compound": null,
+ "developmental_stage": null,
+ "disease": null,
+ "disease_state": null,
+ "dose": null,
+ "genotype": null,
+ "growth_condition": null,
+ "immunoprecipitate": null,
+ "organism_part": null,
+ "phenotype": null,
+ "rnai": null,
+ "subject": null,
+ "time_point": null,
+ "treatment": null
+ },
+ "public_name": null,
+ "sample_type": null,
+ "visibility": null
+ },
+ "family": {
+ "father": null,
+ "mother": null,
+ "replicate": null,
+ "sibling": null
+ },
+ "reference": {
+ "genome": "Not suitable for alignment"
+ },
+ "sanger": {
+ "description": null,
+ "name": "sample_3",
+ "resubmitted": false,
+ "sample_id": "sample_3"
+ },
+ "source": {
+ "cohort": null,
+ "control": false,
+ "country": null,
+ "dna_source": "Tissue",
+ "ethnicity": null,
+ "region": null
+ },
+ "supplier": {
+ "collection": {
+ "date": null
+ },
+ "extraction": {
+ "date": null,
+ "method": null
+ },
+ "measurements": {
+ "concentration": "22.2",
+ "concentration_determined_by": null,
+ "gc_content": null,
+ "gender": null,
+ "volume": "60"
+ },
+ "purification": {
+ "method": null,
+ "purified": null
+ },
+ "sample_name": "SP1",
+ "storage_conditions": null
+ },
+ "taxonomy": {
+ "common_name": "Mus musculus",
+ "id": 10090,
+ "organism": null,
+ "strain": null
+ }
+ },
+ "tag": {}
+ }
+ ],
+ "location": "A3",
+ "state": "passed"
+ },
+ {
+ "created_at": "2016-01-21 16:07:45 +0000",
+ "updated_at": "2016-01-21 16:08:28 +0000",
+ "plate": {
+ "actions": {
+ "read": "http://localhost:3000/ilc-stock-plate-uuid"
+ },
+ "uuid": "ilc-stock-plate-uuid"
+ },
+ "actions": {
+ "read": "http://localhost:3000/well-4-uuid"
+ },
+ "uuid": "well-4-uuid",
+ "aliquots": [
+ {
+ "created_at": "2016-01-21 16:07:49 +0000",
+ "updated_at": "2016-01-21 16:07:49 +0000",
+ "bait_library": null,
+ "insert_size": {},
+ "sample": {
+ "created_at": "2015-12-04 14:25:36 +0000",
+ "updated_at": "2016-01-13 11:43:59 +0000",
+ "actions": {
+ "read": "http://localhost:3000/sample-4-uuid"
+ },
+ "uuid": "sample-4-uuid",
+ "data_release": {
+ "accession_number": null,
+ "description": null,
+ "managed": {
+ "disease": null,
+ "subject": null,
+ "treatment": null
+ },
+ "metagenomics": {
+ "age": null,
+ "cell_type": null,
+ "compound": null,
+ "developmental_stage": null,
+ "disease": null,
+ "disease_state": null,
+ "dose": null,
+ "genotype": null,
+ "growth_condition": null,
+ "immunoprecipitate": null,
+ "organism_part": null,
+ "phenotype": null,
+ "rnai": null,
+ "subject": null,
+ "time_point": null,
+ "treatment": null
+ },
+ "public_name": null,
+ "sample_type": null,
+ "visibility": null
+ },
+ "family": {
+ "father": null,
+ "mother": null,
+ "replicate": null,
+ "sibling": null
+ },
+ "reference": {
+ "genome": "Not suitable for alignment"
+ },
+ "sanger": {
+ "description": null,
+ "name": "sample_4",
+ "resubmitted": false,
+ "sample_id": "sample_4"
+ },
+ "source": {
+ "cohort": null,
+ "control": false,
+ "country": null,
+ "dna_source": "Tissue",
+ "ethnicity": null,
+ "region": null
+ },
+ "supplier": {
+ "collection": {
+ "date": null
+ },
+ "extraction": {
+ "date": null,
+ "method": null
+ },
+ "measurements": {
+ "concentration": "17.9",
+ "concentration_determined_by": null,
+ "gc_content": null,
+ "gender": null,
+ "volume": "60"
+ },
+ "purification": {
+ "method": null,
+ "purified": null
+ },
+ "sample_name": "B2",
+ "storage_conditions": null
+ },
+ "taxonomy": {
+ "common_name": "Mus musculus",
+ "id": 10090,
+ "organism": null,
+ "strain": null
+ }
+ },
+ "tag": {}
+ }
+ ],
+ "location": "A4",
+ "state": "passed"
+ },
+ {
+ "created_at": "2016-01-21 16:07:44 +0000",
+ "updated_at": "2016-01-21 16:08:28 +0000",
+ "plate": {
+ "actions": {
+ "read": "http://localhost:3000/ilc-stock-plate-uuid"
+ },
+ "uuid": "ilc-stock-plate-uuid"
+ },
+ "actions": {
+ "read": "http://localhost:3000/well-5-uuid"
+ },
+ "uuid": "well-5-uuid",
+ "aliquots": [
+ {
+ "created_at": "2016-01-21 16:07:46 +0000",
+ "updated_at": "2016-01-21 16:07:46 +0000",
+ "bait_library": null,
+ "insert_size": {},
+ "sample": {
+ "created_at": "2015-12-04 14:25:35 +0000",
+ "updated_at": "2016-01-13 11:43:58 +0000",
+ "actions": {
+ "read": "http://localhost:3000/sample-5-uuid"
+ },
+ "uuid": "sample-5-uuid",
+ "data_release": {
+ "accession_number": null,
+ "description": null,
+ "managed": {
+ "disease": null,
+ "subject": null,
+ "treatment": null
+ },
+ "metagenomics": {
+ "age": null,
+ "cell_type": null,
+ "compound": null,
+ "developmental_stage": null,
+ "disease": null,
+ "disease_state": null,
+ "dose": null,
+ "genotype": null,
+ "growth_condition": null,
+ "immunoprecipitate": null,
+ "organism_part": null,
+ "phenotype": null,
+ "rnai": null,
+ "subject": null,
+ "time_point": null,
+ "treatment": null
+ },
+ "public_name": null,
+ "sample_type": null,
+ "visibility": null
+ },
+ "family": {
+ "father": null,
+ "mother": null,
+ "replicate": null,
+ "sibling": null
+ },
+ "reference": {
+ "genome": "Not suitable for alignment"
+ },
+ "sanger": {
+ "description": null,
+ "name": "sample_5",
+ "resubmitted": false,
+ "sample_id": "sample_5"
+ },
+ "source": {
+ "cohort": null,
+ "control": false,
+ "country": null,
+ "dna_source": "Tissue",
+ "ethnicity": null,
+ "region": null
+ },
+ "supplier": {
+ "collection": {
+ "date": null
+ },
+ "extraction": {
+ "date": null,
+ "method": null
+ },
+ "measurements": {
+ "concentration": "25.6",
+ "concentration_determined_by": null,
+ "gc_content": null,
+ "gender": null,
+ "volume": "60"
+ },
+ "purification": {
+ "method": null,
+ "purified": null
+ },
+ "sample_name": "GSP1",
+ "storage_conditions": null
+ },
+ "taxonomy": {
+ "common_name": "Onychomys torridus",
+ "id": 38674,
+ "organism": null,
+ "strain": null
+ }
+ },
+ "tag": {}
+ }
+ ],
+ "location": "B1",
+ "state": "passed"
+ },
+ {
+ "created_at": "2016-01-21 16:07:44 +0000",
+ "updated_at": "2016-01-21 16:08:28 +0000",
+ "plate": {
+ "actions": {
+ "read": "http://localhost:3000/ilc-stock-plate-uuid"
+ },
+ "uuid": "ilc-stock-plate-uuid"
+ },
+ "actions": {
+ "read": "http://localhost:3000/well-6-uuid"
+ },
+ "uuid": "well-6-uuid",
+ "aliquots": [
+ {
+ "created_at": "2016-01-21 16:07:47 +0000",
+ "updated_at": "2016-01-21 16:07:47 +0000",
+ "bait_library": null,
+ "insert_size": {},
+ "sample": {
+ "created_at": "2015-12-04 14:25:35 +0000",
+ "updated_at": "2016-01-13 11:43:58 +0000",
+ "actions": {
+ "read": "http://localhost:3000/sample-6-uuid"
+ },
+ "uuid": "sample-6-uuid",
+ "data_release": {
+ "accession_number": null,
+ "description": null,
+ "managed": {
+ "disease": null,
+ "subject": null,
+ "treatment": null
+ },
+ "metagenomics": {
+ "age": null,
+ "cell_type": null,
+ "compound": null,
+ "developmental_stage": null,
+ "disease": null,
+ "disease_state": null,
+ "dose": null,
+ "genotype": null,
+ "growth_condition": null,
+ "immunoprecipitate": null,
+ "organism_part": null,
+ "phenotype": null,
+ "rnai": null,
+ "subject": null,
+ "time_point": null,
+ "treatment": null
+ },
+ "public_name": null,
+ "sample_type": null,
+ "visibility": null
+ },
+ "family": {
+ "father": null,
+ "mother": null,
+ "replicate": null,
+ "sibling": null
+ },
+ "reference": {
+ "genome": "Not suitable for alignment"
+ },
+ "sanger": {
+ "description": null,
+ "name": "sample_6",
+ "resubmitted": false,
+ "sample_id": "sample_6"
+ },
+ "source": {
+ "cohort": null,
+ "control": false,
+ "country": null,
+ "dna_source": "Tissue",
+ "ethnicity": null,
+ "region": null
+ },
+ "supplier": {
+ "collection": {
+ "date": null
+ },
+ "extraction": {
+ "date": null,
+ "method": null
+ },
+ "measurements": {
+ "concentration": "142",
+ "concentration_determined_by": null,
+ "gc_content": null,
+ "gender": null,
+ "volume": "120"
+ },
+ "purification": {
+ "method": null,
+ "purified": null
+ },
+ "sample_name": "GB2",
+ "storage_conditions": null
+ },
+ "taxonomy": {
+ "common_name": "Onychomys torridus",
+ "id": 38674,
+ "organism": null,
+ "strain": null
+ }
+ },
+ "tag": {}
+ }
+ ],
+ "location": "B2",
+ "state": "passed"
+ },
+ {
+ "created_at": "2016-01-21 16:07:45 +0000",
+ "updated_at": "2016-01-21 16:08:28 +0000",
+ "plate": {
+ "actions": {
+ "read": "http://localhost:3000/ilc-stock-plate-uuid"
+ },
+ "uuid": "ilc-stock-plate-uuid"
+ },
+ "actions": {
+ "read": "http://localhost:3000/well-7-uuid"
+ },
+ "uuid": "well-7-uuid",
+ "aliquots": [
+ {
+ "created_at": "2016-01-21 16:07:48 +0000",
+ "updated_at": "2016-01-21 16:07:48 +0000",
+ "bait_library": null,
+ "insert_size": {},
+ "sample": {
+ "created_at": "2015-12-04 14:25:35 +0000",
+ "updated_at": "2016-01-13 11:43:58 +0000",
+ "actions": {
+ "read": "http://localhost:3000/sample-7-uuid"
+ },
+ "uuid": "sample-7-uuid",
+ "data_release": {
+ "accession_number": null,
+ "description": null,
+ "managed": {
+ "disease": null,
+ "subject": null,
+ "treatment": null
+ },
+ "metagenomics": {
+ "age": null,
+ "cell_type": null,
+ "compound": null,
+ "developmental_stage": null,
+ "disease": null,
+ "disease_state": null,
+ "dose": null,
+ "genotype": null,
+ "growth_condition": null,
+ "immunoprecipitate": null,
+ "organism_part": null,
+ "phenotype": null,
+ "rnai": null,
+ "subject": null,
+ "time_point": null,
+ "treatment": null
+ },
+ "public_name": null,
+ "sample_type": null,
+ "visibility": null
+ },
+ "family": {
+ "father": null,
+ "mother": null,
+ "replicate": null,
+ "sibling": null
+ },
+ "reference": {
+ "genome": "Not suitable for alignment"
+ },
+ "sanger": {
+ "description": null,
+ "name": "sample_7",
+ "resubmitted": false,
+ "sample_id": "sample_7"
+ },
+ "source": {
+ "cohort": null,
+ "control": false,
+ "country": null,
+ "dna_source": "Tissue",
+ "ethnicity": null,
+ "region": null
+ },
+ "supplier": {
+ "collection": {
+ "date": null
+ },
+ "extraction": {
+ "date": null,
+ "method": null
+ },
+ "measurements": {
+ "concentration": "14.6",
+ "concentration_determined_by": null,
+ "gc_content": null,
+ "gender": null,
+ "volume": "60"
+ },
+ "purification": {
+ "method": null,
+ "purified": null
+ },
+ "sample_name": "DA1",
+ "storage_conditions": null
+ },
+ "taxonomy": {
+ "common_name": "Mus musculus",
+ "id": 10090,
+ "organism": null,
+ "strain": null
+ }
+ },
+ "tag": {}
+ }
+ ],
+ "location": "B3",
+ "state": "passed"
+ },
+ {
+ "created_at": "2016-01-21 16:07:45 +0000",
+ "updated_at": "2016-01-21 16:08:28 +0000",
+ "plate": {
+ "actions": {
+ "read": "http://localhost:3000/ilc-stock-plate-uuid"
+ },
+ "uuid": "ilc-stock-plate-uuid"
+ },
+ "actions": {
+ "read": "http://localhost:3000/well-8-uuid"
+ },
+ "uuid": "well-8-uuid",
+ "aliquots": [
+ {
+ "created_at": "2016-01-21 16:07:49 +0000",
+ "updated_at": "2016-01-21 16:07:49 +0000",
+ "bait_library": null,
+ "insert_size": {},
+ "sample": {
+ "created_at": "2015-12-04 14:25:36 +0000",
+ "updated_at": "2016-01-13 11:43:59 +0000",
+ "actions": {
+ "read": "http://localhost:3000/sample-8-uuid"
+ },
+ "uuid": "sample-8-uuid",
+ "data_release": {
+ "accession_number": null,
+ "description": null,
+ "managed": {
+ "disease": null,
+ "subject": null,
+ "treatment": null
+ },
+ "metagenomics": {
+ "age": null,
+ "cell_type": null,
+ "compound": null,
+ "developmental_stage": null,
+ "disease": null,
+ "disease_state": null,
+ "dose": null,
+ "genotype": null,
+ "growth_condition": null,
+ "immunoprecipitate": null,
+ "organism_part": null,
+ "phenotype": null,
+ "rnai": null,
+ "subject": null,
+ "time_point": null,
+ "treatment": null
+ },
+ "public_name": null,
+ "sample_type": null,
+ "visibility": null
+ },
+ "family": {
+ "father": null,
+ "mother": null,
+ "replicate": null,
+ "sibling": null
+ },
+ "reference": {
+ "genome": "Not suitable for alignment"
+ },
+ "sanger": {
+ "description": null,
+ "name": "sample_8",
+ "resubmitted": false,
+ "sample_id": "sample_8"
+ },
+ "source": {
+ "cohort": null,
+ "control": false,
+ "country": null,
+ "dna_source": "Tissue",
+ "ethnicity": null,
+ "region": null
+ },
+ "supplier": {
+ "collection": {
+ "date": null
+ },
+ "extraction": {
+ "date": null,
+ "method": null
+ },
+ "measurements": {
+ "concentration": "14",
+ "concentration_determined_by": null,
+ "gc_content": null,
+ "gender": null,
+ "volume": "120"
+ },
+ "purification": {
+ "method": null,
+ "purified": null
+ },
+ "sample_name": "SA3",
+ "storage_conditions": null
+ },
+ "taxonomy": {
+ "common_name": "Mus musculus",
+ "id": 10090,
+ "organism": null,
+ "strain": null
+ }
+ },
+ "tag": {}
+ }
+ ],
+ "location": "B4",
+ "state": "passed"
+ },
+ {
+ "created_at": "2016-01-21 16:07:44 +0000",
+ "updated_at": "2016-01-21 16:08:28 +0000",
+ "plate": {
+ "actions": {
+ "read": "http://localhost:3000/ilc-stock-plate-uuid"
+ },
+ "uuid": "ilc-stock-plate-uuid"
+ },
+ "actions": {
+ "read": "http://localhost:3000/well-9-uuid"
+ },
+ "uuid": "well-9-uuid",
+ "aliquots": [
+ {
+ "created_at": "2016-01-21 16:07:46 +0000",
+ "updated_at": "2016-01-21 16:07:46 +0000",
+ "bait_library": null,
+ "insert_size": {},
+ "sample": {
+ "created_at": "2015-12-04 14:25:35 +0000",
+ "updated_at": "2016-01-13 11:43:58 +0000",
+ "actions": {
+ "read": "http://localhost:3000/sample-9-uuid"
+ },
+ "uuid": "sample-9-uuid",
+ "data_release": {
+ "accession_number": null,
+ "description": null,
+ "managed": {
+ "disease": null,
+ "subject": null,
+ "treatment": null
+ },
+ "metagenomics": {
+ "age": null,
+ "cell_type": null,
+ "compound": null,
+ "developmental_stage": null,
+ "disease": null,
+ "disease_state": null,
+ "dose": null,
+ "genotype": null,
+ "growth_condition": null,
+ "immunoprecipitate": null,
+ "organism_part": null,
+ "phenotype": null,
+ "rnai": null,
+ "subject": null,
+ "time_point": null,
+ "treatment": null
+ },
+ "public_name": null,
+ "sample_type": null,
+ "visibility": null
+ },
+ "family": {
+ "father": null,
+ "mother": null,
+ "replicate": null,
+ "sibling": null
+ },
+ "reference": {
+ "genome": "Not suitable for alignment"
+ },
+ "sanger": {
+ "description": null,
+ "name": "sample_9",
+ "resubmitted": false,
+ "sample_id": "sample_9"
+ },
+ "source": {
+ "cohort": null,
+ "control": false,
+ "country": null,
+ "dna_source": "Tissue",
+ "ethnicity": null,
+ "region": null
+ },
+ "supplier": {
+ "collection": {
+ "date": null
+ },
+ "extraction": {
+ "date": null,
+ "method": null
+ },
+ "measurements": {
+ "concentration": "14",
+ "concentration_determined_by": null,
+ "gc_content": null,
+ "gender": null,
+ "volume": "60"
+ },
+ "purification": {
+ "method": null,
+ "purified": null
+ },
+ "sample_name": "GDA1",
+ "storage_conditions": null
+ },
+ "taxonomy": {
+ "common_name": "Onychomys torridus",
+ "id": 38674,
+ "organism": null,
+ "strain": null
+ }
+ },
+ "tag": {}
+ }
+ ],
+ "location": "C1",
+ "state": "passed"
+ },
+ {
+ "created_at": "2016-01-21 16:07:44 +0000",
+ "updated_at": "2016-01-21 16:08:28 +0000",
+ "plate": {
+ "actions": {
+ "read": "http://localhost:3000/ilc-stock-plate-uuid"
+ },
+ "uuid": "ilc-stock-plate-uuid"
+ },
+ "actions": {
+ "read": "http://localhost:3000/well-10-uuid"
+ },
+ "uuid": "well-10-uuid",
+ "aliquots": [
+ {
+ "created_at": "2016-01-21 16:07:47 +0000",
+ "updated_at": "2016-01-21 16:07:47 +0000",
+ "bait_library": null,
+ "insert_size": {},
+ "sample": {
+ "created_at": "2015-12-04 14:25:35 +0000",
+ "updated_at": "2016-01-13 11:43:58 +0000",
+ "actions": {
+ "read": "http://localhost:3000/sample-10-uuid"
+ },
+ "uuid": "sample-10-uuid",
+ "data_release": {
+ "accession_number": null,
+ "description": null,
+ "managed": {
+ "disease": null,
+ "subject": null,
+ "treatment": null
+ },
+ "metagenomics": {
+ "age": null,
+ "cell_type": null,
+ "compound": null,
+ "developmental_stage": null,
+ "disease": null,
+ "disease_state": null,
+ "dose": null,
+ "genotype": null,
+ "growth_condition": null,
+ "immunoprecipitate": null,
+ "organism_part": null,
+ "phenotype": null,
+ "rnai": null,
+ "subject": null,
+ "time_point": null,
+ "treatment": null
+ },
+ "public_name": null,
+ "sample_type": null,
+ "visibility": null
+ },
+ "family": {
+ "father": null,
+ "mother": null,
+ "replicate": null,
+ "sibling": null
+ },
+ "reference": {
+ "genome": "Not suitable for alignment"
+ },
+ "sanger": {
+ "description": null,
+ "name": "sample_10",
+ "resubmitted": false,
+ "sample_id": "sample_10"
+ },
+ "source": {
+ "cohort": null,
+ "control": false,
+ "country": null,
+ "dna_source": "Tissue",
+ "ethnicity": null,
+ "region": null
+ },
+ "supplier": {
+ "collection": {
+ "date": null
+ },
+ "extraction": {
+ "date": null,
+ "method": null
+ },
+ "measurements": {
+ "concentration": "9.2",
+ "concentration_determined_by": null,
+ "gc_content": null,
+ "gender": null,
+ "volume": "120"
+ },
+ "purification": {
+ "method": null,
+ "purified": null
+ },
+ "sample_name": "GSA3",
+ "storage_conditions": null
+ },
+ "taxonomy": {
+ "common_name": "Onychomys torridus",
+ "id": 38674,
+ "organism": null,
+ "strain": null
+ }
+ },
+ "tag": {}
+ }
+ ],
+ "location": "C2",
+ "state": "passed"
+ },
+ {
+ "created_at": "2016-01-21 16:07:45 +0000",
+ "updated_at": "2016-01-21 16:08:28 +0000",
+ "plate": {
+ "actions": {
+ "read": "http://localhost:3000/ilc-stock-plate-uuid"
+ },
+ "uuid": "ilc-stock-plate-uuid"
+ },
+ "actions": {
+ "read": "http://localhost:3000/well-11-uuid"
+ },
+ "uuid": "well-11-uuid",
+ "aliquots": [
+ {
+ "created_at": "2016-01-21 16:07:48 +0000",
+ "updated_at": "2016-01-21 16:07:48 +0000",
+ "bait_library": null,
+ "insert_size": {},
+ "sample": {
+ "created_at": "2015-12-04 14:25:35 +0000",
+ "updated_at": "2016-01-13 11:43:58 +0000",
+ "actions": {
+ "read": "http://localhost:3000/sample-11-uuid"
+ },
+ "uuid": "sample-11-uuid",
+ "data_release": {
+ "accession_number": null,
+ "description": null,
+ "managed": {
+ "disease": null,
+ "subject": null,
+ "treatment": null
+ },
+ "metagenomics": {
+ "age": null,
+ "cell_type": null,
+ "compound": null,
+ "developmental_stage": null,
+ "disease": null,
+ "disease_state": null,
+ "dose": null,
+ "genotype": null,
+ "growth_condition": null,
+ "immunoprecipitate": null,
+ "organism_part": null,
+ "phenotype": null,
+ "rnai": null,
+ "subject": null,
+ "time_point": null,
+ "treatment": null
+ },
+ "public_name": null,
+ "sample_type": null,
+ "visibility": null
+ },
+ "family": {
+ "father": null,
+ "mother": null,
+ "replicate": null,
+ "sibling": null
+ },
+ "reference": {
+ "genome": "Not suitable for alignment"
+ },
+ "sanger": {
+ "description": null,
+ "name": "sample_11",
+ "resubmitted": false,
+ "sample_id": "sample_11"
+ },
+ "source": {
+ "cohort": null,
+ "control": false,
+ "country": null,
+ "dna_source": "Tissue",
+ "ethnicity": null,
+ "region": null
+ },
+ "supplier": {
+ "collection": {
+ "date": null
+ },
+ "extraction": {
+ "date": null,
+ "method": null
+ },
+ "measurements": {
+ "concentration": "15.8",
+ "concentration_determined_by": null,
+ "gc_content": null,
+ "gender": null,
+ "volume": "60"
+ },
+ "purification": {
+ "method": null,
+ "purified": null
+ },
+ "sample_name": "DP1",
+ "storage_conditions": null
+ },
+ "taxonomy": {
+ "common_name": "Mus musculus",
+ "id": 10090,
+ "organism": null,
+ "strain": null
+ }
+ },
+ "tag": {}
+ }
+ ],
+ "location": "C3",
+ "state": "passed"
+ },
+ {
+ "created_at": "2016-01-21 16:07:45 +0000",
+ "updated_at": "2016-01-21 16:08:28 +0000",
+ "plate": {
+ "actions": {
+ "read": "http://localhost:3000/ilc-stock-plate-uuid"
+ },
+ "uuid": "ilc-stock-plate-uuid"
+ },
+ "actions": {
+ "read": "http://localhost:3000/well-12-uuid"
+ },
+ "uuid": "well-12-uuid",
+ "aliquots": [
+ {
+ "created_at": "2016-01-21 16:07:49 +0000",
+ "updated_at": "2016-01-21 16:07:49 +0000",
+ "bait_library": null,
+ "insert_size": {},
+ "sample": {
+ "created_at": "2015-12-04 14:25:36 +0000",
+ "updated_at": "2016-01-13 11:43:59 +0000",
+ "actions": {
+ "read": "http://localhost:3000/sample-12-uuid"
+ },
+ "uuid": "sample-12-uuid",
+ "data_release": {
+ "accession_number": null,
+ "description": null,
+ "managed": {
+ "disease": null,
+ "subject": null,
+ "treatment": null
+ },
+ "metagenomics": {
+ "age": null,
+ "cell_type": null,
+ "compound": null,
+ "developmental_stage": null,
+ "disease": null,
+ "disease_state": null,
+ "dose": null,
+ "genotype": null,
+ "growth_condition": null,
+ "immunoprecipitate": null,
+ "organism_part": null,
+ "phenotype": null,
+ "rnai": null,
+ "subject": null,
+ "time_point": null,
+ "treatment": null
+ },
+ "public_name": null,
+ "sample_type": null,
+ "visibility": null
+ },
+ "family": {
+ "father": null,
+ "mother": null,
+ "replicate": null,
+ "sibling": null
+ },
+ "reference": {
+ "genome": "Not suitable for alignment"
+ },
+ "sanger": {
+ "description": null,
+ "name": "sample_12",
+ "resubmitted": false,
+ "sample_id": "sample_12"
+ },
+ "source": {
+ "cohort": null,
+ "control": false,
+ "country": null,
+ "dna_source": "Tissue",
+ "ethnicity": null,
+ "region": null
+ },
+ "supplier": {
+ "collection": {
+ "date": null
+ },
+ "extraction": {
+ "date": null,
+ "method": null
+ },
+ "measurements": {
+ "concentration": "13.7",
+ "concentration_determined_by": null,
+ "gc_content": null,
+ "gender": null,
+ "volume": "120"
+ },
+ "purification": {
+ "method": null,
+ "purified": null
+ },
+ "sample_name": "SP3",
+ "storage_conditions": null
+ },
+ "taxonomy": {
+ "common_name": "Mus musculus",
+ "id": 10090,
+ "organism": null,
+ "strain": null
+ }
+ },
+ "tag": {}
+ }
+ ],
+ "location": "C4",
+ "state": "passed"
+ },
+ {
+ "created_at": "2016-01-21 16:07:44 +0000",
+ "updated_at": "2016-01-21 16:08:28 +0000",
+ "plate": {
+ "actions": {
+ "read": "http://localhost:3000/ilc-stock-plate-uuid"
+ },
+ "uuid": "ilc-stock-plate-uuid"
+ },
+ "actions": {
+ "read": "http://localhost:3000/well-13-uuid"
+ },
+ "uuid": "well-13-uuid",
+ "aliquots": [
+ {
+ "created_at": "2016-01-21 16:07:46 +0000",
+ "updated_at": "2016-01-21 16:07:46 +0000",
+ "bait_library": null,
+ "insert_size": {},
+ "sample": {
+ "created_at": "2015-12-04 14:25:35 +0000",
+ "updated_at": "2016-01-13 11:43:58 +0000",
+ "actions": {
+ "read": "http://localhost:3000/sample-13-uuid"
+ },
+ "uuid": "sample-13-uuid",
+ "data_release": {
+ "accession_number": null,
+ "description": null,
+ "managed": {
+ "disease": null,
+ "subject": null,
+ "treatment": null
+ },
+ "metagenomics": {
+ "age": null,
+ "cell_type": null,
+ "compound": null,
+ "developmental_stage": null,
+ "disease": null,
+ "disease_state": null,
+ "dose": null,
+ "genotype": null,
+ "growth_condition": null,
+ "immunoprecipitate": null,
+ "organism_part": null,
+ "phenotype": null,
+ "rnai": null,
+ "subject": null,
+ "time_point": null,
+ "treatment": null
+ },
+ "public_name": null,
+ "sample_type": null,
+ "visibility": null
+ },
+ "family": {
+ "father": null,
+ "mother": null,
+ "replicate": null,
+ "sibling": null
+ },
+ "reference": {
+ "genome": "Not suitable for alignment"
+ },
+ "sanger": {
+ "description": null,
+ "name": "sample_13",
+ "resubmitted": false,
+ "sample_id": "sample_13"
+ },
+ "source": {
+ "cohort": null,
+ "control": false,
+ "country": null,
+ "dna_source": "Tissue",
+ "ethnicity": null,
+ "region": null
+ },
+ "supplier": {
+ "collection": {
+ "date": null
+ },
+ "extraction": {
+ "date": null,
+ "method": null
+ },
+ "measurements": {
+ "concentration": "33.8",
+ "concentration_determined_by": null,
+ "gc_content": null,
+ "gender": null,
+ "volume": "60"
+ },
+ "purification": {
+ "method": null,
+ "purified": null
+ },
+ "sample_name": "GDP1",
+ "storage_conditions": null
+ },
+ "taxonomy": {
+ "common_name": "Onychomys torridus",
+ "id": 38674,
+ "organism": null,
+ "strain": null
+ }
+ },
+ "tag": {}
+ }
+ ],
+ "location": "D1",
+ "state": "passed"
+ },
+ {
+ "created_at": "2016-01-21 16:07:44 +0000",
+ "updated_at": "2016-01-21 16:08:28 +0000",
+ "plate": {
+ "actions": {
+ "read": "http://localhost:3000/ilc-stock-plate-uuid"
+ },
+ "uuid": "ilc-stock-plate-uuid"
+ },
+ "actions": {
+ "read": "http://localhost:3000/well-14-uuid"
+ },
+ "uuid": "well-14-uuid",
+ "aliquots": [
+ {
+ "created_at": "2016-01-21 16:07:47 +0000",
+ "updated_at": "2016-01-21 16:07:47 +0000",
+ "bait_library": null,
+ "insert_size": {},
+ "sample": {
+ "created_at": "2015-12-04 14:25:35 +0000",
+ "updated_at": "2016-01-13 11:43:58 +0000",
+ "actions": {
+ "read": "http://localhost:3000/sample-14-uuid"
+ },
+ "uuid": "sample-14-uuid",
+ "data_release": {
+ "accession_number": null,
+ "description": null,
+ "managed": {
+ "disease": null,
+ "subject": null,
+ "treatment": null
+ },
+ "metagenomics": {
+ "age": null,
+ "cell_type": null,
+ "compound": null,
+ "developmental_stage": null,
+ "disease": null,
+ "disease_state": null,
+ "dose": null,
+ "genotype": null,
+ "growth_condition": null,
+ "immunoprecipitate": null,
+ "organism_part": null,
+ "phenotype": null,
+ "rnai": null,
+ "subject": null,
+ "time_point": null,
+ "treatment": null
+ },
+ "public_name": null,
+ "sample_type": null,
+ "visibility": null
+ },
+ "family": {
+ "father": null,
+ "mother": null,
+ "replicate": null,
+ "sibling": null
+ },
+ "reference": {
+ "genome": "Not suitable for alignment"
+ },
+ "sanger": {
+ "description": null,
+ "name": "sample_14",
+ "resubmitted": false,
+ "sample_id": "sample_14"
+ },
+ "source": {
+ "cohort": null,
+ "control": false,
+ "country": null,
+ "dna_source": "Tissue",
+ "ethnicity": null,
+ "region": null
+ },
+ "supplier": {
+ "collection": {
+ "date": null
+ },
+ "extraction": {
+ "date": null,
+ "method": null
+ },
+ "measurements": {
+ "concentration": "12.7",
+ "concentration_determined_by": null,
+ "gc_content": null,
+ "gender": null,
+ "volume": "120"
+ },
+ "purification": {
+ "method": null,
+ "purified": null
+ },
+ "sample_name": "GSP3",
+ "storage_conditions": null
+ },
+ "taxonomy": {
+ "common_name": "Onychomys torridus",
+ "id": 38674,
+ "organism": null,
+ "strain": null
+ }
+ },
+ "tag": {}
+ }
+ ],
+ "location": "D2",
+ "state": "passed"
+ },
+ {
+ "created_at": "2016-01-21 16:07:45 +0000",
+ "updated_at": "2016-01-21 16:08:28 +0000",
+ "plate": {
+ "actions": {
+ "read": "http://localhost:3000/ilc-stock-plate-uuid"
+ },
+ "uuid": "ilc-stock-plate-uuid"
+ },
+ "actions": {
+ "read": "http://localhost:3000/well-15-uuid"
+ },
+ "uuid": "well-15-uuid",
+ "aliquots": [
+ {
+ "created_at": "2016-01-21 16:07:48 +0000",
+ "updated_at": "2016-01-21 16:07:48 +0000",
+ "bait_library": null,
+ "insert_size": {},
+ "sample": {
+ "created_at": "2015-12-04 14:25:35 +0000",
+ "updated_at": "2016-01-13 11:43:58 +0000",
+ "actions": {
+ "read": "http://localhost:3000/sample-15-uuid"
+ },
+ "uuid": "sample-15-uuid",
+ "data_release": {
+ "accession_number": null,
+ "description": null,
+ "managed": {
+ "disease": null,
+ "subject": null,
+ "treatment": null
+ },
+ "metagenomics": {
+ "age": null,
+ "cell_type": null,
+ "compound": null,
+ "developmental_stage": null,
+ "disease": null,
+ "disease_state": null,
+ "dose": null,
+ "genotype": null,
+ "growth_condition": null,
+ "immunoprecipitate": null,
+ "organism_part": null,
+ "phenotype": null,
+ "rnai": null,
+ "subject": null,
+ "time_point": null,
+ "treatment": null
+ },
+ "public_name": null,
+ "sample_type": null,
+ "visibility": null
+ },
+ "family": {
+ "father": null,
+ "mother": null,
+ "replicate": null,
+ "sibling": null
+ },
+ "reference": {
+ "genome": "Not suitable for alignment"
+ },
+ "sanger": {
+ "description": null,
+ "name": "sample_15",
+ "resubmitted": false,
+ "sample_id": "sample_15"
+ },
+ "source": {
+ "cohort": null,
+ "control": false,
+ "country": null,
+ "dna_source": "Tissue",
+ "ethnicity": null,
+ "region": null
+ },
+ "supplier": {
+ "collection": {
+ "date": null
+ },
+ "extraction": {
+ "date": null,
+ "method": null
+ },
+ "measurements": {
+ "concentration": "25.2",
+ "concentration_determined_by": null,
+ "gc_content": null,
+ "gender": null,
+ "volume": "60"
+ },
+ "purification": {
+ "method": null,
+ "purified": null
+ },
+ "sample_name": "B1",
+ "storage_conditions": null
+ },
+ "taxonomy": {
+ "common_name": "Mus musculus",
+ "id": 10090,
+ "organism": null,
+ "strain": null
+ }
+ },
+ "tag": {}
+ }
+ ],
+ "location": "D3",
+ "state": "passed"
+ },
+ {
+ "created_at": "2016-01-21 16:07:45 +0000",
+ "updated_at": "2016-01-21 16:08:28 +0000",
+ "plate": {
+ "actions": {
+ "read": "http://localhost:3000/ilc-stock-plate-uuid"
+ },
+ "uuid": "ilc-stock-plate-uuid"
+ },
+ "actions": {
+ "read": "http://localhost:3000/well-16-uuid"
+ },
+ "uuid": "well-16-uuid",
+ "aliquots": [
+ {
+ "created_at": "2016-01-21 16:07:49 +0000",
+ "updated_at": "2016-01-21 16:07:49 +0000",
+ "bait_library": null,
+ "insert_size": {},
+ "sample": {
+ "created_at": "2015-12-04 14:25:36 +0000",
+ "updated_at": "2016-01-13 11:43:59 +0000",
+ "actions": {
+ "read": "http://localhost:3000/sample-16-uuid"
+ },
+ "uuid": "sample-16-uuid",
+ "data_release": {
+ "accession_number": null,
+ "description": null,
+ "managed": {
+ "disease": null,
+ "subject": null,
+ "treatment": null
+ },
+ "metagenomics": {
+ "age": null,
+ "cell_type": null,
+ "compound": null,
+ "developmental_stage": null,
+ "disease": null,
+ "disease_state": null,
+ "dose": null,
+ "genotype": null,
+ "growth_condition": null,
+ "immunoprecipitate": null,
+ "organism_part": null,
+ "phenotype": null,
+ "rnai": null,
+ "subject": null,
+ "time_point": null,
+ "treatment": null
+ },
+ "public_name": null,
+ "sample_type": null,
+ "visibility": null
+ },
+ "family": {
+ "father": null,
+ "mother": null,
+ "replicate": null,
+ "sibling": null
+ },
+ "reference": {
+ "genome": "Not suitable for alignment"
+ },
+ "sanger": {
+ "description": null,
+ "name": "sample_16",
+ "resubmitted": false,
+ "sample_id": "sample_16"
+ },
+ "source": {
+ "cohort": null,
+ "control": false,
+ "country": null,
+ "dna_source": "Tissue",
+ "ethnicity": null,
+ "region": null
+ },
+ "supplier": {
+ "collection": {
+ "date": null
+ },
+ "extraction": {
+ "date": null,
+ "method": null
+ },
+ "measurements": {
+ "concentration": "5.1",
+ "concentration_determined_by": null,
+ "gc_content": null,
+ "gender": null,
+ "volume": "120"
+ },
+ "purification": {
+ "method": null,
+ "purified": null
+ },
+ "sample_name": "DA3",
+ "storage_conditions": null
+ },
+ "taxonomy": {
+ "common_name": "Mus musculus",
+ "id": 10090,
+ "organism": null,
+ "strain": null
+ }
+ },
+ "tag": {}
+ }
+ ],
+ "location": "D4",
+ "state": "passed"
+ },
+ {
+ "created_at": "2016-01-21 16:07:44 +0000",
+ "updated_at": "2016-01-21 16:08:28 +0000",
+ "plate": {
+ "actions": {
+ "read": "http://localhost:3000/ilc-stock-plate-uuid"
+ },
+ "uuid": "ilc-stock-plate-uuid"
+ },
+ "actions": {
+ "read": "http://localhost:3000/well-17-uuid"
+ },
+ "uuid": "well-17-uuid",
+ "aliquots": [
+ {
+ "created_at": "2016-01-21 16:07:46 +0000",
+ "updated_at": "2016-01-21 16:07:46 +0000",
+ "bait_library": null,
+ "insert_size": {},
+ "sample": {
+ "created_at": "2015-12-04 14:25:35 +0000",
+ "updated_at": "2016-01-13 11:43:58 +0000",
+ "actions": {
+ "read": "http://localhost:3000/sample-17-uuid"
+ },
+ "uuid": "sample-17-uuid",
+ "data_release": {
+ "accession_number": null,
+ "description": null,
+ "managed": {
+ "disease": null,
+ "subject": null,
+ "treatment": null
+ },
+ "metagenomics": {
+ "age": null,
+ "cell_type": null,
+ "compound": null,
+ "developmental_stage": null,
+ "disease": null,
+ "disease_state": null,
+ "dose": null,
+ "genotype": null,
+ "growth_condition": null,
+ "immunoprecipitate": null,
+ "organism_part": null,
+ "phenotype": null,
+ "rnai": null,
+ "subject": null,
+ "time_point": null,
+ "treatment": null
+ },
+ "public_name": null,
+ "sample_type": null,
+ "visibility": null
+ },
+ "family": {
+ "father": null,
+ "mother": null,
+ "replicate": null,
+ "sibling": null
+ },
+ "reference": {
+ "genome": "Not suitable for alignment"
+ },
+ "sanger": {
+ "description": null,
+ "name": "sample_17",
+ "resubmitted": false,
+ "sample_id": "sample_17"
+ },
+ "source": {
+ "cohort": null,
+ "control": false,
+ "country": null,
+ "dna_source": "Tissue",
+ "ethnicity": null,
+ "region": null
+ },
+ "supplier": {
+ "collection": {
+ "date": null
+ },
+ "extraction": {
+ "date": null,
+ "method": null
+ },
+ "measurements": {
+ "concentration": "52.2",
+ "concentration_determined_by": null,
+ "gc_content": null,
+ "gender": null,
+ "volume": "60"
+ },
+ "purification": {
+ "method": null,
+ "purified": null
+ },
+ "sample_name": "GB1",
+ "storage_conditions": null
+ },
+ "taxonomy": {
+ "common_name": "Onychomys torridus",
+ "id": 38674,
+ "organism": null,
+ "strain": null
+ }
+ },
+ "tag": {}
+ }
+ ],
+ "location": "E1",
+ "state": "passed"
+ },
+ {
+ "created_at": "2016-01-21 16:07:44 +0000",
+ "updated_at": "2016-01-21 16:08:28 +0000",
+ "plate": {
+ "actions": {
+ "read": "http://localhost:3000/ilc-stock-plate-uuid"
+ },
+ "uuid": "ilc-stock-plate-uuid"
+ },
+ "actions": {
+ "read": "http://localhost:3000/well-18-uuid"
+ },
+ "uuid": "well-18-uuid",
+ "aliquots": [
+ {
+ "created_at": "2016-01-21 16:07:47 +0000",
+ "updated_at": "2016-01-21 16:07:47 +0000",
+ "bait_library": null,
+ "insert_size": {},
+ "sample": {
+ "created_at": "2015-12-04 14:25:35 +0000",
+ "updated_at": "2016-01-13 11:43:58 +0000",
+ "actions": {
+ "read": "http://localhost:3000/sample-18-uuid"
+ },
+ "uuid": "sample-18-uuid",
+ "data_release": {
+ "accession_number": null,
+ "description": null,
+ "managed": {
+ "disease": null,
+ "subject": null,
+ "treatment": null
+ },
+ "metagenomics": {
+ "age": null,
+ "cell_type": null,
+ "compound": null,
+ "developmental_stage": null,
+ "disease": null,
+ "disease_state": null,
+ "dose": null,
+ "genotype": null,
+ "growth_condition": null,
+ "immunoprecipitate": null,
+ "organism_part": null,
+ "phenotype": null,
+ "rnai": null,
+ "subject": null,
+ "time_point": null,
+ "treatment": null
+ },
+ "public_name": null,
+ "sample_type": null,
+ "visibility": null
+ },
+ "family": {
+ "father": null,
+ "mother": null,
+ "replicate": null,
+ "sibling": null
+ },
+ "reference": {
+ "genome": "Not suitable for alignment"
+ },
+ "sanger": {
+ "description": null,
+ "name": "sample_18",
+ "resubmitted": false,
+ "sample_id": "sample_18"
+ },
+ "source": {
+ "cohort": null,
+ "control": false,
+ "country": null,
+ "dna_source": "Tissue",
+ "ethnicity": null,
+ "region": null
+ },
+ "supplier": {
+ "collection": {
+ "date": null
+ },
+ "extraction": {
+ "date": null,
+ "method": null
+ },
+ "measurements": {
+ "concentration": "6.3",
+ "concentration_determined_by": null,
+ "gc_content": null,
+ "gender": null,
+ "volume": "120"
+ },
+ "purification": {
+ "method": null,
+ "purified": null
+ },
+ "sample_name": "GDA3",
+ "storage_conditions": null
+ },
+ "taxonomy": {
+ "common_name": "Onychomys torridus",
+ "id": 38674,
+ "organism": null,
+ "strain": null
+ }
+ },
+ "tag": {}
+ }
+ ],
+ "location": "E2",
+ "state": "passed"
+ },
+ {
+ "created_at": "2016-01-21 16:07:45 +0000",
+ "updated_at": "2016-01-21 16:08:28 +0000",
+ "plate": {
+ "actions": {
+ "read": "http://localhost:3000/ilc-stock-plate-uuid"
+ },
+ "uuid": "ilc-stock-plate-uuid"
+ },
+ "actions": {
+ "read": "http://localhost:3000/well-19-uuid"
+ },
+ "uuid": "well-19-uuid",
+ "aliquots": [
+ {
+ "created_at": "2016-01-21 16:07:48 +0000",
+ "updated_at": "2016-01-21 16:07:48 +0000",
+ "bait_library": null,
+ "insert_size": {},
+ "sample": {
+ "created_at": "2015-12-04 14:25:35 +0000",
+ "updated_at": "2016-01-13 11:43:58 +0000",
+ "actions": {
+ "read": "http://localhost:3000/sample-19-uuid"
+ },
+ "uuid": "sample-19-uuid",
+ "data_release": {
+ "accession_number": null,
+ "description": null,
+ "managed": {
+ "disease": null,
+ "subject": null,
+ "treatment": null
+ },
+ "metagenomics": {
+ "age": null,
+ "cell_type": null,
+ "compound": null,
+ "developmental_stage": null,
+ "disease": null,
+ "disease_state": null,
+ "dose": null,
+ "genotype": null,
+ "growth_condition": null,
+ "immunoprecipitate": null,
+ "organism_part": null,
+ "phenotype": null,
+ "rnai": null,
+ "subject": null,
+ "time_point": null,
+ "treatment": null
+ },
+ "public_name": null,
+ "sample_type": null,
+ "visibility": null
+ },
+ "family": {
+ "father": null,
+ "mother": null,
+ "replicate": null,
+ "sibling": null
+ },
+ "reference": {
+ "genome": "Not suitable for alignment"
+ },
+ "sanger": {
+ "description": null,
+ "name": "sample_19",
+ "resubmitted": false,
+ "sample_id": "sample_19"
+ },
+ "source": {
+ "cohort": null,
+ "control": false,
+ "country": null,
+ "dna_source": "Tissue",
+ "ethnicity": null,
+ "region": null
+ },
+ "supplier": {
+ "collection": {
+ "date": null
+ },
+ "extraction": {
+ "date": null,
+ "method": null
+ },
+ "measurements": {
+ "concentration": "13.2",
+ "concentration_determined_by": null,
+ "gc_content": null,
+ "gender": null,
+ "volume": "120"
+ },
+ "purification": {
+ "method": null,
+ "purified": null
+ },
+ "sample_name": "SA2",
+ "storage_conditions": null
+ },
+ "taxonomy": {
+ "common_name": "Mus musculus",
+ "id": 10090,
+ "organism": null,
+ "strain": null
+ }
+ },
+ "tag": {}
+ }
+ ],
+ "location": "E3",
+ "state": "passed"
+ },
+ {
+ "created_at": "2016-01-21 16:07:45 +0000",
+ "updated_at": "2016-01-21 16:08:28 +0000",
+ "plate": {
+ "actions": {
+ "read": "http://localhost:3000/ilc-stock-plate-uuid"
+ },
+ "uuid": "ilc-stock-plate-uuid"
+ },
+ "actions": {
+ "read": "http://localhost:3000/well-20-uuid"
+ },
+ "uuid": "well-20-uuid",
+ "aliquots": [
+ {
+ "created_at": "2016-01-21 16:07:49 +0000",
+ "updated_at": "2016-01-21 16:07:49 +0000",
+ "bait_library": null,
+ "insert_size": {},
+ "sample": {
+ "created_at": "2015-12-04 14:25:36 +0000",
+ "updated_at": "2016-01-13 11:43:59 +0000",
+ "actions": {
+ "read": "http://localhost:3000/sample-20-uuid"
+ },
+ "uuid": "sample-20-uuid",
+ "data_release": {
+ "accession_number": null,
+ "description": null,
+ "managed": {
+ "disease": null,
+ "subject": null,
+ "treatment": null
+ },
+ "metagenomics": {
+ "age": null,
+ "cell_type": null,
+ "compound": null,
+ "developmental_stage": null,
+ "disease": null,
+ "disease_state": null,
+ "dose": null,
+ "genotype": null,
+ "growth_condition": null,
+ "immunoprecipitate": null,
+ "organism_part": null,
+ "phenotype": null,
+ "rnai": null,
+ "subject": null,
+ "time_point": null,
+ "treatment": null
+ },
+ "public_name": null,
+ "sample_type": null,
+ "visibility": null
+ },
+ "family": {
+ "father": null,
+ "mother": null,
+ "replicate": null,
+ "sibling": null
+ },
+ "reference": {
+ "genome": "Not suitable for alignment"
+ },
+ "sanger": {
+ "description": null,
+ "name": "sample_20",
+ "resubmitted": false,
+ "sample_id": "sample_20"
+ },
+ "source": {
+ "cohort": null,
+ "control": false,
+ "country": null,
+ "dna_source": "Tissue",
+ "ethnicity": null,
+ "region": null
+ },
+ "supplier": {
+ "collection": {
+ "date": null
+ },
+ "extraction": {
+ "date": null,
+ "method": null
+ },
+ "measurements": {
+ "concentration": "12.8",
+ "concentration_determined_by": null,
+ "gc_content": null,
+ "gender": null,
+ "volume": "120"
+ },
+ "purification": {
+ "method": null,
+ "purified": null
+ },
+ "sample_name": "DP3",
+ "storage_conditions": null
+ },
+ "taxonomy": {
+ "common_name": "Mus musculus",
+ "id": 10090,
+ "organism": null,
+ "strain": null
+ }
+ },
+ "tag": {}
+ }
+ ],
+ "location": "E4",
+ "state": "passed"
+ },
+ {
+ "created_at": "2016-01-21 16:07:44 +0000",
+ "updated_at": "2016-01-21 16:08:28 +0000",
+ "plate": {
+ "actions": {
+ "read": "http://localhost:3000/ilc-stock-plate-uuid"
+ },
+ "uuid": "ilc-stock-plate-uuid"
+ },
+ "actions": {
+ "read": "http://localhost:3000/well-21-uuid"
+ },
+ "uuid": "well-21-uuid",
+ "aliquots": [
+ {
+ "created_at": "2016-01-21 16:07:47 +0000",
+ "updated_at": "2016-01-21 16:07:47 +0000",
+ "bait_library": null,
+ "insert_size": {},
+ "sample": {
+ "created_at": "2015-12-04 14:25:35 +0000",
+ "updated_at": "2016-01-13 11:43:58 +0000",
+ "actions": {
+ "read": "http://localhost:3000/sample-21-uuid"
+ },
+ "uuid": "sample-21-uuid",
+ "data_release": {
+ "accession_number": null,
+ "description": null,
+ "managed": {
+ "disease": null,
+ "subject": null,
+ "treatment": null
+ },
+ "metagenomics": {
+ "age": null,
+ "cell_type": null,
+ "compound": null,
+ "developmental_stage": null,
+ "disease": null,
+ "disease_state": null,
+ "dose": null,
+ "genotype": null,
+ "growth_condition": null,
+ "immunoprecipitate": null,
+ "organism_part": null,
+ "phenotype": null,
+ "rnai": null,
+ "subject": null,
+ "time_point": null,
+ "treatment": null
+ },
+ "public_name": null,
+ "sample_type": null,
+ "visibility": null
+ },
+ "family": {
+ "father": null,
+ "mother": null,
+ "replicate": null,
+ "sibling": null
+ },
+ "reference": {
+ "genome": "Not suitable for alignment"
+ },
+ "sanger": {
+ "description": null,
+ "name": "sample_21",
+ "resubmitted": false,
+ "sample_id": "sample_21"
+ },
+ "source": {
+ "cohort": null,
+ "control": false,
+ "country": null,
+ "dna_source": "Tissue",
+ "ethnicity": null,
+ "region": null
+ },
+ "supplier": {
+ "collection": {
+ "date": null
+ },
+ "extraction": {
+ "date": null,
+ "method": null
+ },
+ "measurements": {
+ "concentration": "16.9",
+ "concentration_determined_by": null,
+ "gc_content": null,
+ "gender": null,
+ "volume": "60"
+ },
+ "purification": {
+ "method": null,
+ "purified": null
+ },
+ "sample_name": "GSA2",
+ "storage_conditions": null
+ },
+ "taxonomy": {
+ "common_name": "Onychomys torridus",
+ "id": 38674,
+ "organism": null,
+ "strain": null
+ }
+ },
+ "tag": {}
+ }
+ ],
+ "location": "F1",
+ "state": "passed"
+ },
+ {
+ "created_at": "2016-01-21 16:07:44 +0000",
+ "updated_at": "2016-01-21 16:08:28 +0000",
+ "plate": {
+ "actions": {
+ "read": "http://localhost:3000/ilc-stock-plate-uuid"
+ },
+ "uuid": "ilc-stock-plate-uuid"
+ },
+ "actions": {
+ "read": "http://localhost:3000/well-22-uuid"
+ },
+ "uuid": "well-22-uuid",
+ "aliquots": [
+ {
+ "created_at": "2016-01-21 16:07:47 +0000",
+ "updated_at": "2016-01-21 16:07:47 +0000",
+ "bait_library": null,
+ "insert_size": {},
+ "sample": {
+ "created_at": "2015-12-04 14:25:35 +0000",
+ "updated_at": "2016-01-13 11:43:58 +0000",
+ "actions": {
+ "read": "http://localhost:3000/sample-22-uuid"
+ },
+ "uuid": "sample-22-uuid",
+ "data_release": {
+ "accession_number": null,
+ "description": null,
+ "managed": {
+ "disease": null,
+ "subject": null,
+ "treatment": null
+ },
+ "metagenomics": {
+ "age": null,
+ "cell_type": null,
+ "compound": null,
+ "developmental_stage": null,
+ "disease": null,
+ "disease_state": null,
+ "dose": null,
+ "genotype": null,
+ "growth_condition": null,
+ "immunoprecipitate": null,
+ "organism_part": null,
+ "phenotype": null,
+ "rnai": null,
+ "subject": null,
+ "time_point": null,
+ "treatment": null
+ },
+ "public_name": null,
+ "sample_type": null,
+ "visibility": null
+ },
+ "family": {
+ "father": null,
+ "mother": null,
+ "replicate": null,
+ "sibling": null
+ },
+ "reference": {
+ "genome": "Not suitable for alignment"
+ },
+ "sanger": {
+ "description": null,
+ "name": "sample_22",
+ "resubmitted": false,
+ "sample_id": "sample_22"
+ },
+ "source": {
+ "cohort": null,
+ "control": false,
+ "country": null,
+ "dna_source": "Tissue",
+ "ethnicity": null,
+ "region": null
+ },
+ "supplier": {
+ "collection": {
+ "date": null
+ },
+ "extraction": {
+ "date": null,
+ "method": null
+ },
+ "measurements": {
+ "concentration": "8.3",
+ "concentration_determined_by": null,
+ "gc_content": null,
+ "gender": null,
+ "volume": "120"
+ },
+ "purification": {
+ "method": null,
+ "purified": null
+ },
+ "sample_name": "GDP3",
+ "storage_conditions": null
+ },
+ "taxonomy": {
+ "common_name": "Onychomys torridus",
+ "id": 38674,
+ "organism": null,
+ "strain": null
+ }
+ },
+ "tag": {}
+ }
+ ],
+ "location": "F2",
+ "state": "passed"
+ },
+ {
+ "created_at": "2016-01-21 16:07:45 +0000",
+ "updated_at": "2016-01-21 16:08:28 +0000",
+ "plate": {
+ "actions": {
+ "read": "http://localhost:3000/ilc-stock-plate-uuid"
+ },
+ "uuid": "ilc-stock-plate-uuid"
+ },
+ "actions": {
+ "read": "http://localhost:3000/well-23-uuid"
+ },
+ "uuid": "well-23-uuid",
+ "aliquots": [
+ {
+ "created_at": "2016-01-21 16:07:48 +0000",
+ "updated_at": "2016-01-21 16:07:48 +0000",
+ "bait_library": null,
+ "insert_size": {},
+ "sample": {
+ "created_at": "2015-12-04 14:25:35 +0000",
+ "updated_at": "2016-01-13 11:43:59 +0000",
+ "actions": {
+ "read": "http://localhost:3000/sample-23-uuid"
+ },
+ "uuid": "sample-23-uuid",
+ "data_release": {
+ "accession_number": null,
+ "description": null,
+ "managed": {
+ "disease": null,
+ "subject": null,
+ "treatment": null
+ },
+ "metagenomics": {
+ "age": null,
+ "cell_type": null,
+ "compound": null,
+ "developmental_stage": null,
+ "disease": null,
+ "disease_state": null,
+ "dose": null,
+ "genotype": null,
+ "growth_condition": null,
+ "immunoprecipitate": null,
+ "organism_part": null,
+ "phenotype": null,
+ "rnai": null,
+ "subject": null,
+ "time_point": null,
+ "treatment": null
+ },
+ "public_name": null,
+ "sample_type": null,
+ "visibility": null
+ },
+ "family": {
+ "father": null,
+ "mother": null,
+ "replicate": null,
+ "sibling": null
+ },
+ "reference": {
+ "genome": "Not suitable for alignment"
+ },
+ "sanger": {
+ "description": null,
+ "name": "sample_23",
+ "resubmitted": false,
+ "sample_id": "sample_23"
+ },
+ "source": {
+ "cohort": null,
+ "control": false,
+ "country": null,
+ "dna_source": "Tissue",
+ "ethnicity": null,
+ "region": null
+ },
+ "supplier": {
+ "collection": {
+ "date": null
+ },
+ "extraction": {
+ "date": null,
+ "method": null
+ },
+ "measurements": {
+ "concentration": "4.6",
+ "concentration_determined_by": null,
+ "gc_content": null,
+ "gender": null,
+ "volume": "120"
+ },
+ "purification": {
+ "method": null,
+ "purified": null
+ },
+ "sample_name": "SP2",
+ "storage_conditions": null
+ },
+ "taxonomy": {
+ "common_name": "Mus musculus",
+ "id": 10090,
+ "organism": null,
+ "strain": null
+ }
+ },
+ "tag": {}
+ }
+ ],
+ "location": "F3",
+ "state": "passed"
+ },
+ {
+ "created_at": "2016-01-21 16:07:45 +0000",
+ "updated_at": "2016-01-21 16:08:28 +0000",
+ "plate": {
+ "actions": {
+ "read": "http://localhost:3000/ilc-stock-plate-uuid"
+ },
+ "uuid": "ilc-stock-plate-uuid"
+ },
+ "actions": {
+ "read": "http://localhost:3000/well-24-uuid"
+ },
+ "uuid": "well-24-uuid",
+ "aliquots": [
+ {
+ "created_at": "2016-01-21 16:07:49 +0000",
+ "updated_at": "2016-01-21 16:07:49 +0000",
+ "bait_library": null,
+ "insert_size": {},
+ "sample": {
+ "created_at": "2015-12-04 14:25:36 +0000",
+ "updated_at": "2016-01-13 11:43:59 +0000",
+ "actions": {
+ "read": "http://localhost:3000/sample-24-uuid"
+ },
+ "uuid": "sample-24-uuid",
+ "data_release": {
+ "accession_number": null,
+ "description": null,
+ "managed": {
+ "disease": null,
+ "subject": null,
+ "treatment": null
+ },
+ "metagenomics": {
+ "age": null,
+ "cell_type": null,
+ "compound": null,
+ "developmental_stage": null,
+ "disease": null,
+ "disease_state": null,
+ "dose": null,
+ "genotype": null,
+ "growth_condition": null,
+ "immunoprecipitate": null,
+ "organism_part": null,
+ "phenotype": null,
+ "rnai": null,
+ "subject": null,
+ "time_point": null,
+ "treatment": null
+ },
+ "public_name": null,
+ "sample_type": null,
+ "visibility": null
+ },
+ "family": {
+ "father": null,
+ "mother": null,
+ "replicate": null,
+ "sibling": null
+ },
+ "reference": {
+ "genome": "Not suitable for alignment"
+ },
+ "sanger": {
+ "description": null,
+ "name": "sample_24",
+ "resubmitted": false,
+ "sample_id": "sample_24"
+ },
+ "source": {
+ "cohort": null,
+ "control": false,
+ "country": null,
+ "dna_source": "Tissue",
+ "ethnicity": null,
+ "region": null
+ },
+ "supplier": {
+ "collection": {
+ "date": null
+ },
+ "extraction": {
+ "date": null,
+ "method": null
+ },
+ "measurements": {
+ "concentration": "110",
+ "concentration_determined_by": null,
+ "gc_content": null,
+ "gender": null,
+ "volume": "120"
+ },
+ "purification": {
+ "method": null,
+ "purified": null
+ },
+ "sample_name": "B3",
+ "storage_conditions": null
+ },
+ "taxonomy": {
+ "common_name": "Mus musculus",
+ "id": 10090,
+ "organism": null,
+ "strain": null
+ }
+ },
+ "tag": {}
+ }
+ ],
+ "location": "F4",
+ "state": "passed"
+ },
+ {
+ "created_at": "2016-01-21 16:07:44 +0000",
+ "updated_at": "2016-01-21 16:08:28 +0000",
+ "plate": {
+ "actions": {
+ "read": "http://localhost:3000/ilc-stock-plate-uuid"
+ },
+ "uuid": "ilc-stock-plate-uuid"
+ },
+ "actions": {
+ "read": "http://localhost:3000/well-25-uuid"
+ },
+ "uuid": "well-25-uuid",
+ "aliquots": [
+ {
+ "created_at": "2016-01-21 16:07:47 +0000",
+ "updated_at": "2016-01-21 16:07:47 +0000",
+ "bait_library": null,
+ "insert_size": {},
+ "sample": {
+ "created_at": "2015-12-04 14:25:35 +0000",
+ "updated_at": "2016-01-13 11:43:58 +0000",
+ "actions": {
+ "read": "http://localhost:3000/sample-25-uuid"
+ },
+ "uuid": "sample-25-uuid",
+ "data_release": {
+ "accession_number": null,
+ "description": null,
+ "managed": {
+ "disease": null,
+ "subject": null,
+ "treatment": null
+ },
+ "metagenomics": {
+ "age": null,
+ "cell_type": null,
+ "compound": null,
+ "developmental_stage": null,
+ "disease": null,
+ "disease_state": null,
+ "dose": null,
+ "genotype": null,
+ "growth_condition": null,
+ "immunoprecipitate": null,
+ "organism_part": null,
+ "phenotype": null,
+ "rnai": null,
+ "subject": null,
+ "time_point": null,
+ "treatment": null
+ },
+ "public_name": null,
+ "sample_type": null,
+ "visibility": null
+ },
+ "family": {
+ "father": null,
+ "mother": null,
+ "replicate": null,
+ "sibling": null
+ },
+ "reference": {
+ "genome": "Not suitable for alignment"
+ },
+ "sanger": {
+ "description": null,
+ "name": "sample_25",
+ "resubmitted": false,
+ "sample_id": "sample_25"
+ },
+ "source": {
+ "cohort": null,
+ "control": false,
+ "country": null,
+ "dna_source": "Tissue",
+ "ethnicity": null,
+ "region": null
+ },
+ "supplier": {
+ "collection": {
+ "date": null
+ },
+ "extraction": {
+ "date": null,
+ "method": null
+ },
+ "measurements": {
+ "concentration": "23",
+ "concentration_determined_by": null,
+ "gc_content": null,
+ "gender": null,
+ "volume": "60"
+ },
+ "purification": {
+ "method": null,
+ "purified": null
+ },
+ "sample_name": "GSP2",
+ "storage_conditions": null
+ },
+ "taxonomy": {
+ "common_name": "Onychomys torridus",
+ "id": 38674,
+ "organism": null,
+ "strain": null
+ }
+ },
+ "tag": {}
+ }
+ ],
+ "location": "G1",
+ "state": "passed"
+ },
+ {
+ "created_at": "2016-01-21 16:07:45 +0000",
+ "updated_at": "2016-01-21 16:08:28 +0000",
+ "plate": {
+ "actions": {
+ "read": "http://localhost:3000/ilc-stock-plate-uuid"
+ },
+ "uuid": "ilc-stock-plate-uuid"
+ },
+ "actions": {
+ "read": "http://localhost:3000/well-26-uuid"
+ },
+ "uuid": "well-26-uuid",
+ "aliquots": [
+ {
+ "created_at": "2016-01-21 16:07:48 +0000",
+ "updated_at": "2016-01-21 16:07:48 +0000",
+ "bait_library": null,
+ "insert_size": {},
+ "sample": {
+ "created_at": "2015-12-04 14:25:35 +0000",
+ "updated_at": "2016-01-13 11:43:58 +0000",
+ "actions": {
+ "read": "http://localhost:3000/sample-26-uuid"
+ },
+ "uuid": "sample-26-uuid",
+ "data_release": {
+ "accession_number": null,
+ "description": null,
+ "managed": {
+ "disease": null,
+ "subject": null,
+ "treatment": null
+ },
+ "metagenomics": {
+ "age": null,
+ "cell_type": null,
+ "compound": null,
+ "developmental_stage": null,
+ "disease": null,
+ "disease_state": null,
+ "dose": null,
+ "genotype": null,
+ "growth_condition": null,
+ "immunoprecipitate": null,
+ "organism_part": null,
+ "phenotype": null,
+ "rnai": null,
+ "subject": null,
+ "time_point": null,
+ "treatment": null
+ },
+ "public_name": null,
+ "sample_type": null,
+ "visibility": null
+ },
+ "family": {
+ "father": null,
+ "mother": null,
+ "replicate": null,
+ "sibling": null
+ },
+ "reference": {
+ "genome": "Not suitable for alignment"
+ },
+ "sanger": {
+ "description": null,
+ "name": "sample_26",
+ "resubmitted": false,
+ "sample_id": "sample_26"
+ },
+ "source": {
+ "cohort": null,
+ "control": false,
+ "country": null,
+ "dna_source": "Tissue",
+ "ethnicity": null,
+ "region": null
+ },
+ "supplier": {
+ "collection": {
+ "date": null
+ },
+ "extraction": {
+ "date": null,
+ "method": null
+ },
+ "measurements": {
+ "concentration": "100",
+ "concentration_determined_by": null,
+ "gc_content": null,
+ "gender": null,
+ "volume": "120"
+ },
+ "purification": {
+ "method": null,
+ "purified": null
+ },
+ "sample_name": "GB3",
+ "storage_conditions": null
+ },
+ "taxonomy": {
+ "common_name": "Onychomys torridus",
+ "id": 38674,
+ "organism": null,
+ "strain": null
+ }
+ },
+ "tag": {}
+ }
+ ],
+ "location": "G2",
+ "state": "passed"
+ },
+ {
+ "created_at": "2016-01-21 16:07:45 +0000",
+ "updated_at": "2016-01-21 16:08:28 +0000",
+ "plate": {
+ "actions": {
+ "read": "http://localhost:3000/ilc-stock-plate-uuid"
+ },
+ "uuid": "ilc-stock-plate-uuid"
+ },
+ "actions": {
+ "read": "http://localhost:3000/well-27-uuid"
+ },
+ "uuid": "well-27-uuid",
+ "aliquots": [
+ {
+ "created_at": "2016-01-21 16:07:48 +0000",
+ "updated_at": "2016-01-21 16:07:48 +0000",
+ "bait_library": null,
+ "insert_size": {},
+ "sample": {
+ "created_at": "2015-12-04 14:25:36 +0000",
+ "updated_at": "2016-01-13 11:43:59 +0000",
+ "actions": {
+ "read": "http://localhost:3000/sample-27-uuid"
+ },
+ "uuid": "sample-27-uuid",
+ "data_release": {
+ "accession_number": null,
+ "description": null,
+ "managed": {
+ "disease": null,
+ "subject": null,
+ "treatment": null
+ },
+ "metagenomics": {
+ "age": null,
+ "cell_type": null,
+ "compound": null,
+ "developmental_stage": null,
+ "disease": null,
+ "disease_state": null,
+ "dose": null,
+ "genotype": null,
+ "growth_condition": null,
+ "immunoprecipitate": null,
+ "organism_part": null,
+ "phenotype": null,
+ "rnai": null,
+ "subject": null,
+ "time_point": null,
+ "treatment": null
+ },
+ "public_name": null,
+ "sample_type": null,
+ "visibility": null
+ },
+ "family": {
+ "father": null,
+ "mother": null,
+ "replicate": null,
+ "sibling": null
+ },
+ "reference": {
+ "genome": "Not suitable for alignment"
+ },
+ "sanger": {
+ "description": null,
+ "name": "sample_27",
+ "resubmitted": false,
+ "sample_id": "sample_27"
+ },
+ "source": {
+ "cohort": null,
+ "control": false,
+ "country": null,
+ "dna_source": "Tissue",
+ "ethnicity": null,
+ "region": null
+ },
+ "supplier": {
+ "collection": {
+ "date": null
+ },
+ "extraction": {
+ "date": null,
+ "method": null
+ },
+ "measurements": {
+ "concentration": "5.7",
+ "concentration_determined_by": null,
+ "gc_content": null,
+ "gender": null,
+ "volume": "120"
+ },
+ "purification": {
+ "method": null,
+ "purified": null
+ },
+ "sample_name": "DA2",
+ "storage_conditions": null
+ },
+ "taxonomy": {
+ "common_name": "Mus musculus",
+ "id": 10090,
+ "organism": null,
+ "strain": null
+ }
+ },
+ "tag": {}
+ }
+ ],
+ "location": "G3",
+ "state": "passed"
+ },
+ {
+ "created_at": "2016-01-21 16:07:44 +0000",
+ "updated_at": "2016-01-21 16:08:28 +0000",
+ "plate": {
+ "actions": {
+ "read": "http://localhost:3000/ilc-stock-plate-uuid"
+ },
+ "uuid": "ilc-stock-plate-uuid"
+ },
+ "actions": {
+ "read": "http://localhost:3000/well-28-uuid"
+ },
+ "uuid": "well-28-uuid",
+ "aliquots": [
+ {
+ "created_at": "2016-01-21 16:07:47 +0000",
+ "updated_at": "2016-01-21 16:07:47 +0000",
+ "bait_library": null,
+ "insert_size": {},
+ "sample": {
+ "created_at": "2015-12-04 14:25:35 +0000",
+ "updated_at": "2016-01-13 11:43:58 +0000",
+ "actions": {
+ "read": "http://localhost:3000/sample-28-uuid"
+ },
+ "uuid": "sample-28-uuid",
+ "data_release": {
+ "accession_number": null,
+ "description": null,
+ "managed": {
+ "disease": null,
+ "subject": null,
+ "treatment": null
+ },
+ "metagenomics": {
+ "age": null,
+ "cell_type": null,
+ "compound": null,
+ "developmental_stage": null,
+ "disease": null,
+ "disease_state": null,
+ "dose": null,
+ "genotype": null,
+ "growth_condition": null,
+ "immunoprecipitate": null,
+ "organism_part": null,
+ "phenotype": null,
+ "rnai": null,
+ "subject": null,
+ "time_point": null,
+ "treatment": null
+ },
+ "public_name": null,
+ "sample_type": null,
+ "visibility": null
+ },
+ "family": {
+ "father": null,
+ "mother": null,
+ "replicate": null,
+ "sibling": null
+ },
+ "reference": {
+ "genome": "Not suitable for alignment"
+ },
+ "sanger": {
+ "description": null,
+ "name": "sample_28",
+ "resubmitted": false,
+ "sample_id": "sample_28"
+ },
+ "source": {
+ "cohort": null,
+ "control": false,
+ "country": null,
+ "dna_source": "Tissue",
+ "ethnicity": null,
+ "region": null
+ },
+ "supplier": {
+ "collection": {
+ "date": null
+ },
+ "extraction": {
+ "date": null,
+ "method": null
+ },
+ "measurements": {
+ "concentration": "11.8",
+ "concentration_determined_by": null,
+ "gc_content": null,
+ "gender": null,
+ "volume": "60"
+ },
+ "purification": {
+ "method": null,
+ "purified": null
+ },
+ "sample_name": "GDA2",
+ "storage_conditions": null
+ },
+ "taxonomy": {
+ "common_name": "Onychomys torridus",
+ "id": 38674,
+ "organism": null,
+ "strain": null
+ }
+ },
+ "tag": {}
+ }
+ ],
+ "location": "H1",
+ "state": "passed"
+ },
+ {
+ "created_at": "2016-01-21 16:07:45 +0000",
+ "updated_at": "2016-01-21 16:08:28 +0000",
+ "plate": {
+ "actions": {
+ "read": "http://localhost:3000/ilc-stock-plate-uuid"
+ },
+ "uuid": "ilc-stock-plate-uuid"
+ },
+ "actions": {
+ "read": "http://localhost:3000/well-29-uuid"
+ },
+ "uuid": "well-29-uuid",
+ "aliquots": [
+ {
+ "created_at": "2016-01-21 16:07:48 +0000",
+ "updated_at": "2016-01-21 16:07:48 +0000",
+ "bait_library": null,
+ "insert_size": {},
+ "sample": {
+ "created_at": "2015-12-04 14:25:35 +0000",
+ "updated_at": "2016-01-13 11:43:58 +0000",
+ "actions": {
+ "read": "http://localhost:3000/sample-29-uuid"
+ },
+ "uuid": "sample-29-uuid",
+ "data_release": {
+ "accession_number": null,
+ "description": null,
+ "managed": {
+ "disease": null,
+ "subject": null,
+ "treatment": null
+ },
+ "metagenomics": {
+ "age": null,
+ "cell_type": null,
+ "compound": null,
+ "developmental_stage": null,
+ "disease": null,
+ "disease_state": null,
+ "dose": null,
+ "genotype": null,
+ "growth_condition": null,
+ "immunoprecipitate": null,
+ "organism_part": null,
+ "phenotype": null,
+ "rnai": null,
+ "subject": null,
+ "time_point": null,
+ "treatment": null
+ },
+ "public_name": null,
+ "sample_type": null,
+ "visibility": null
+ },
+ "family": {
+ "father": null,
+ "mother": null,
+ "replicate": null,
+ "sibling": null
+ },
+ "reference": {
+ "genome": "Not suitable for alignment"
+ },
+ "sanger": {
+ "description": null,
+ "name": "sample_29",
+ "resubmitted": false,
+ "sample_id": "sample_29"
+ },
+ "source": {
+ "cohort": null,
+ "control": false,
+ "country": null,
+ "dna_source": "Tissue",
+ "ethnicity": null,
+ "region": null
+ },
+ "supplier": {
+ "collection": {
+ "date": null
+ },
+ "extraction": {
+ "date": null,
+ "method": null
+ },
+ "measurements": {
+ "concentration": "46.3",
+ "concentration_determined_by": null,
+ "gc_content": null,
+ "gender": null,
+ "volume": "60"
+ },
+ "purification": {
+ "method": null,
+ "purified": null
+ },
+ "sample_name": "SA1",
+ "storage_conditions": null
+ },
+ "taxonomy": {
+ "common_name": "Mus musculus",
+ "id": 10090,
+ "organism": null,
+ "strain": null
+ }
+ },
+ "tag": {}
+ }
+ ],
+ "location": "H2",
+ "state": "passed"
+ },
+ {
+ "created_at": "2016-01-21 16:07:45 +0000",
+ "updated_at": "2016-01-21 16:08:28 +0000",
+ "plate": {
+ "actions": {
+ "read": "http://localhost:3000/ilc-stock-plate-uuid"
+ },
+ "uuid": "ilc-stock-plate-uuid"
+ },
+ "actions": {
+ "read": "http://localhost:3000/well-30-uuid"
+ },
+ "uuid": "well-30-uuid",
+ "aliquots": [
+ {
+ "created_at": "2016-01-21 16:07:49 +0000",
+ "updated_at": "2016-01-21 16:07:49 +0000",
+ "bait_library": null,
+ "insert_size": {},
+ "sample": {
+ "created_at": "2015-12-04 14:25:36 +0000",
+ "updated_at": "2016-01-13 11:43:59 +0000",
+ "actions": {
+ "read": "http://localhost:3000/sample-30-uuid"
+ },
+ "uuid": "sample-30-uuid",
+ "data_release": {
+ "accession_number": null,
+ "description": null,
+ "managed": {
+ "disease": null,
+ "subject": null,
+ "treatment": null
+ },
+ "metagenomics": {
+ "age": null,
+ "cell_type": null,
+ "compound": null,
+ "developmental_stage": null,
+ "disease": null,
+ "disease_state": null,
+ "dose": null,
+ "genotype": null,
+ "growth_condition": null,
+ "immunoprecipitate": null,
+ "organism_part": null,
+ "phenotype": null,
+ "rnai": null,
+ "subject": null,
+ "time_point": null,
+ "treatment": null
+ },
+ "public_name": null,
+ "sample_type": null,
+ "visibility": null
+ },
+ "family": {
+ "father": null,
+ "mother": null,
+ "replicate": null,
+ "sibling": null
+ },
+ "reference": {
+ "genome": "Not suitable for alignment"
+ },
+ "sanger": {
+ "description": null,
+ "name": "sample_30",
+ "resubmitted": false,
+ "sample_id": "sample_30"
+ },
+ "source": {
+ "cohort": null,
+ "control": false,
+ "country": null,
+ "dna_source": "Tissue",
+ "ethnicity": null,
+ "region": null
+ },
+ "supplier": {
+ "collection": {
+ "date": null
+ },
+ "extraction": {
+ "date": null,
+ "method": null
+ },
+ "measurements": {
+ "concentration": "15.8",
+ "concentration_determined_by": null,
+ "gc_content": null,
+ "gender": null,
+ "volume": "120"
+ },
+ "purification": {
+ "method": null,
+ "purified": null
+ },
+ "sample_name": "DP2",
+ "storage_conditions": null
+ },
+ "taxonomy": {
+ "common_name": "Mus musculus",
+ "id": 10090,
+ "organism": null,
+ "strain": null
+ }
+ },
+ "tag": {}
+ }
+ ],
+ "location": "H3",
+ "state": "passed"
+ }
+ ]
+}
diff --git a/spec/contracts/ilc-stock-plate-with-metadata-comments.txt b/spec/contracts/ilc-stock-plate-with-metadata-comments.txt
new file mode 100644
index 0000000..b97cadc
--- /dev/null
+++ b/spec/contracts/ilc-stock-plate-with-metadata-comments.txt
@@ -0,0 +1,12 @@
+HTTP/1.1 200 OK
+Content-Type: application/json
+
+{
+ "actions": {
+ "read": "http://localhost:3000/ilc-stock-plate-with-metadata-uuid/comments/1",
+ "first": "http://localhost:3000/ilc-stock-plate-with-metadata-uuid/comments/1",
+ "last": "http://localhost:3000/ilc-stock-plate-with-metadata-uuid/comments/1"
+ },
+ "size": 0,
+ "comments": []
+}
\ No newline at end of file
diff --git a/spec/contracts/ilc-stock-plate-with-metadata-wells.txt b/spec/contracts/ilc-stock-plate-with-metadata-wells.txt
new file mode 100644
index 0000000..a1f8420
--- /dev/null
+++ b/spec/contracts/ilc-stock-plate-with-metadata-wells.txt
@@ -0,0 +1,3433 @@
+HTTP/1.1 200 OK
+Content-Type: application/json
+
+{
+ "actions": {
+ "read": "http://localhost:3000/ilc-stock-plate-with-metadata-uuid/wells/1",
+ "first": "http://localhost:3000/ilc-stock-plate-with-metadata-uuid/wells/1",
+ "last": "http://localhost:3000/ilc-stock-plate-with-metadata-uuid/wells/1"
+ },
+ "size": 30,
+ "wells": [
+ {
+ "created_at": "2016-01-21 16:07:44 +0000",
+ "updated_at": "2016-01-21 16:08:28 +0000",
+ "plate": {
+ "actions": {
+ "read": "http://localhost:3000/ilc-stock-plate-with-metadata-uuid"
+ },
+ "uuid": "ilc-stock-plate-with-metadata-uuid"
+ },
+ "actions": {
+ "read": "http://localhost:3000/well-1-uuid"
+ },
+ "uuid": "well-1-uuid",
+ "aliquots": [
+ {
+ "created_at": "2016-01-21 16:07:46 +0000",
+ "updated_at": "2016-01-21 16:07:46 +0000",
+ "bait_library": null,
+ "insert_size": {},
+ "sample": {
+ "created_at": "2015-12-04 14:25:35 +0000",
+ "updated_at": "2016-01-13 11:43:58 +0000",
+ "actions": {
+ "read": "http://localhost:3000/sample-1-uuid"
+ },
+ "uuid": "sample-1-uuid",
+ "data_release": {
+ "accession_number": null,
+ "description": null,
+ "managed": {
+ "disease": null,
+ "subject": null,
+ "treatment": null
+ },
+ "metagenomics": {
+ "age": null,
+ "cell_type": null,
+ "compound": null,
+ "developmental_stage": null,
+ "disease": null,
+ "disease_state": null,
+ "dose": null,
+ "genotype": null,
+ "growth_condition": null,
+ "immunoprecipitate": null,
+ "organism_part": null,
+ "phenotype": null,
+ "rnai": null,
+ "subject": null,
+ "time_point": null,
+ "treatment": null
+ },
+ "public_name": null,
+ "sample_type": null,
+ "visibility": null
+ },
+ "family": {
+ "father": null,
+ "mother": null,
+ "replicate": null,
+ "sibling": null
+ },
+ "reference": {
+ "genome": "Not suitable for alignment"
+ },
+ "sanger": {
+ "description": null,
+ "name": "sample_1",
+ "resubmitted": false,
+ "sample_id": "sample_1"
+ },
+ "source": {
+ "cohort": null,
+ "control": false,
+ "country": null,
+ "dna_source": "Tissue",
+ "ethnicity": null,
+ "region": null
+ },
+ "supplier": {
+ "collection": {
+ "date": null
+ },
+ "extraction": {
+ "date": null,
+ "method": null
+ },
+ "measurements": {
+ "concentration": "21.4",
+ "concentration_determined_by": null,
+ "gc_content": null,
+ "gender": null,
+ "volume": "60"
+ },
+ "purification": {
+ "method": null,
+ "purified": null
+ },
+ "sample_name": "GSA1",
+ "storage_conditions": null
+ },
+ "taxonomy": {
+ "common_name": "Onychomys torridus",
+ "id": 38674,
+ "organism": null,
+ "strain": null
+ }
+ },
+ "tag": {}
+ }
+ ],
+ "location": "A1",
+ "state": "passed"
+ },
+ {
+ "created_at": "2016-01-21 16:07:44 +0000",
+ "updated_at": "2016-01-21 16:08:28 +0000",
+ "plate": {
+ "actions": {
+ "read": "http://localhost:3000/ilc-stock-plate-with-metadata-uuid"
+ },
+ "uuid": "ilc-stock-plate-with-metadata-uuid"
+ },
+ "actions": {
+ "read": "http://localhost:3000/well-2-uuid"
+ },
+ "uuid": "well-2-uuid",
+ "aliquots": [
+ {
+ "created_at": "2016-01-21 16:07:47 +0000",
+ "updated_at": "2016-01-21 16:07:47 +0000",
+ "bait_library": null,
+ "insert_size": {},
+ "sample": {
+ "created_at": "2015-12-04 14:25:35 +0000",
+ "updated_at": "2016-01-13 11:43:58 +0000",
+ "actions": {
+ "read": "http://localhost:3000/sample-2-uuid"
+ },
+ "uuid": "sample-2-uuid",
+ "data_release": {
+ "accession_number": null,
+ "description": null,
+ "managed": {
+ "disease": null,
+ "subject": null,
+ "treatment": null
+ },
+ "metagenomics": {
+ "age": null,
+ "cell_type": null,
+ "compound": null,
+ "developmental_stage": null,
+ "disease": null,
+ "disease_state": null,
+ "dose": null,
+ "genotype": null,
+ "growth_condition": null,
+ "immunoprecipitate": null,
+ "organism_part": null,
+ "phenotype": null,
+ "rnai": null,
+ "subject": null,
+ "time_point": null,
+ "treatment": null
+ },
+ "public_name": null,
+ "sample_type": null,
+ "visibility": null
+ },
+ "family": {
+ "father": null,
+ "mother": null,
+ "replicate": null,
+ "sibling": null
+ },
+ "reference": {
+ "genome": "Not suitable for alignment"
+ },
+ "sanger": {
+ "description": null,
+ "name": "sample_2",
+ "resubmitted": false,
+ "sample_id": "sample_2"
+ },
+ "source": {
+ "cohort": null,
+ "control": false,
+ "country": null,
+ "dna_source": "Tissue",
+ "ethnicity": null,
+ "region": null
+ },
+ "supplier": {
+ "collection": {
+ "date": null
+ },
+ "extraction": {
+ "date": null,
+ "method": null
+ },
+ "measurements": {
+ "concentration": "14.1",
+ "concentration_determined_by": null,
+ "gc_content": null,
+ "gender": null,
+ "volume": "60"
+ },
+ "purification": {
+ "method": null,
+ "purified": null
+ },
+ "sample_name": "GDP2",
+ "storage_conditions": null
+ },
+ "taxonomy": {
+ "common_name": "Onychomys torridus",
+ "id": 38674,
+ "organism": null,
+ "strain": null
+ }
+ },
+ "tag": {}
+ }
+ ],
+ "location": "A2",
+ "state": "passed"
+ },
+ {
+ "created_at": "2016-01-21 16:07:45 +0000",
+ "updated_at": "2016-01-21 16:08:28 +0000",
+ "plate": {
+ "actions": {
+ "read": "http://localhost:3000/ilc-stock-plate-with-metadata-uuid"
+ },
+ "uuid": "ilc-stock-plate-with-metadata-uuid"
+ },
+ "actions": {
+ "read": "http://localhost:3000/well-3-uuid"
+ },
+ "uuid": "well-3-uuid",
+ "aliquots": [
+ {
+ "created_at": "2016-01-21 16:07:48 +0000",
+ "updated_at": "2016-01-21 16:07:48 +0000",
+ "bait_library": null,
+ "insert_size": {},
+ "sample": {
+ "created_at": "2015-12-04 14:25:35 +0000",
+ "updated_at": "2016-01-13 11:43:58 +0000",
+ "actions": {
+ "read": "http://localhost:3000/sample-3-uuid"
+ },
+ "uuid": "sample-3-uuid",
+ "data_release": {
+ "accession_number": null,
+ "description": null,
+ "managed": {
+ "disease": null,
+ "subject": null,
+ "treatment": null
+ },
+ "metagenomics": {
+ "age": null,
+ "cell_type": null,
+ "compound": null,
+ "developmental_stage": null,
+ "disease": null,
+ "disease_state": null,
+ "dose": null,
+ "genotype": null,
+ "growth_condition": null,
+ "immunoprecipitate": null,
+ "organism_part": null,
+ "phenotype": null,
+ "rnai": null,
+ "subject": null,
+ "time_point": null,
+ "treatment": null
+ },
+ "public_name": null,
+ "sample_type": null,
+ "visibility": null
+ },
+ "family": {
+ "father": null,
+ "mother": null,
+ "replicate": null,
+ "sibling": null
+ },
+ "reference": {
+ "genome": "Not suitable for alignment"
+ },
+ "sanger": {
+ "description": null,
+ "name": "sample_3",
+ "resubmitted": false,
+ "sample_id": "sample_3"
+ },
+ "source": {
+ "cohort": null,
+ "control": false,
+ "country": null,
+ "dna_source": "Tissue",
+ "ethnicity": null,
+ "region": null
+ },
+ "supplier": {
+ "collection": {
+ "date": null
+ },
+ "extraction": {
+ "date": null,
+ "method": null
+ },
+ "measurements": {
+ "concentration": "22.2",
+ "concentration_determined_by": null,
+ "gc_content": null,
+ "gender": null,
+ "volume": "60"
+ },
+ "purification": {
+ "method": null,
+ "purified": null
+ },
+ "sample_name": "SP1",
+ "storage_conditions": null
+ },
+ "taxonomy": {
+ "common_name": "Mus musculus",
+ "id": 10090,
+ "organism": null,
+ "strain": null
+ }
+ },
+ "tag": {}
+ }
+ ],
+ "location": "A3",
+ "state": "passed"
+ },
+ {
+ "created_at": "2016-01-21 16:07:45 +0000",
+ "updated_at": "2016-01-21 16:08:28 +0000",
+ "plate": {
+ "actions": {
+ "read": "http://localhost:3000/ilc-stock-plate-with-metadata-uuid"
+ },
+ "uuid": "ilc-stock-plate-with-metadata-uuid"
+ },
+ "actions": {
+ "read": "http://localhost:3000/well-4-uuid"
+ },
+ "uuid": "well-4-uuid",
+ "aliquots": [
+ {
+ "created_at": "2016-01-21 16:07:49 +0000",
+ "updated_at": "2016-01-21 16:07:49 +0000",
+ "bait_library": null,
+ "insert_size": {},
+ "sample": {
+ "created_at": "2015-12-04 14:25:36 +0000",
+ "updated_at": "2016-01-13 11:43:59 +0000",
+ "actions": {
+ "read": "http://localhost:3000/sample-4-uuid"
+ },
+ "uuid": "sample-4-uuid",
+ "data_release": {
+ "accession_number": null,
+ "description": null,
+ "managed": {
+ "disease": null,
+ "subject": null,
+ "treatment": null
+ },
+ "metagenomics": {
+ "age": null,
+ "cell_type": null,
+ "compound": null,
+ "developmental_stage": null,
+ "disease": null,
+ "disease_state": null,
+ "dose": null,
+ "genotype": null,
+ "growth_condition": null,
+ "immunoprecipitate": null,
+ "organism_part": null,
+ "phenotype": null,
+ "rnai": null,
+ "subject": null,
+ "time_point": null,
+ "treatment": null
+ },
+ "public_name": null,
+ "sample_type": null,
+ "visibility": null
+ },
+ "family": {
+ "father": null,
+ "mother": null,
+ "replicate": null,
+ "sibling": null
+ },
+ "reference": {
+ "genome": "Not suitable for alignment"
+ },
+ "sanger": {
+ "description": null,
+ "name": "sample_4",
+ "resubmitted": false,
+ "sample_id": "sample_4"
+ },
+ "source": {
+ "cohort": null,
+ "control": false,
+ "country": null,
+ "dna_source": "Tissue",
+ "ethnicity": null,
+ "region": null
+ },
+ "supplier": {
+ "collection": {
+ "date": null
+ },
+ "extraction": {
+ "date": null,
+ "method": null
+ },
+ "measurements": {
+ "concentration": "17.9",
+ "concentration_determined_by": null,
+ "gc_content": null,
+ "gender": null,
+ "volume": "60"
+ },
+ "purification": {
+ "method": null,
+ "purified": null
+ },
+ "sample_name": "B2",
+ "storage_conditions": null
+ },
+ "taxonomy": {
+ "common_name": "Mus musculus",
+ "id": 10090,
+ "organism": null,
+ "strain": null
+ }
+ },
+ "tag": {}
+ }
+ ],
+ "location": "A4",
+ "state": "passed"
+ },
+ {
+ "created_at": "2016-01-21 16:07:44 +0000",
+ "updated_at": "2016-01-21 16:08:28 +0000",
+ "plate": {
+ "actions": {
+ "read": "http://localhost:3000/ilc-stock-plate-with-metadata-uuid"
+ },
+ "uuid": "ilc-stock-plate-with-metadata-uuid"
+ },
+ "actions": {
+ "read": "http://localhost:3000/well-5-uuid"
+ },
+ "uuid": "well-5-uuid",
+ "aliquots": [
+ {
+ "created_at": "2016-01-21 16:07:46 +0000",
+ "updated_at": "2016-01-21 16:07:46 +0000",
+ "bait_library": null,
+ "insert_size": {},
+ "sample": {
+ "created_at": "2015-12-04 14:25:35 +0000",
+ "updated_at": "2016-01-13 11:43:58 +0000",
+ "actions": {
+ "read": "http://localhost:3000/sample-5-uuid"
+ },
+ "uuid": "sample-5-uuid",
+ "data_release": {
+ "accession_number": null,
+ "description": null,
+ "managed": {
+ "disease": null,
+ "subject": null,
+ "treatment": null
+ },
+ "metagenomics": {
+ "age": null,
+ "cell_type": null,
+ "compound": null,
+ "developmental_stage": null,
+ "disease": null,
+ "disease_state": null,
+ "dose": null,
+ "genotype": null,
+ "growth_condition": null,
+ "immunoprecipitate": null,
+ "organism_part": null,
+ "phenotype": null,
+ "rnai": null,
+ "subject": null,
+ "time_point": null,
+ "treatment": null
+ },
+ "public_name": null,
+ "sample_type": null,
+ "visibility": null
+ },
+ "family": {
+ "father": null,
+ "mother": null,
+ "replicate": null,
+ "sibling": null
+ },
+ "reference": {
+ "genome": "Not suitable for alignment"
+ },
+ "sanger": {
+ "description": null,
+ "name": "sample_5",
+ "resubmitted": false,
+ "sample_id": "sample_5"
+ },
+ "source": {
+ "cohort": null,
+ "control": false,
+ "country": null,
+ "dna_source": "Tissue",
+ "ethnicity": null,
+ "region": null
+ },
+ "supplier": {
+ "collection": {
+ "date": null
+ },
+ "extraction": {
+ "date": null,
+ "method": null
+ },
+ "measurements": {
+ "concentration": "25.6",
+ "concentration_determined_by": null,
+ "gc_content": null,
+ "gender": null,
+ "volume": "60"
+ },
+ "purification": {
+ "method": null,
+ "purified": null
+ },
+ "sample_name": "GSP1",
+ "storage_conditions": null
+ },
+ "taxonomy": {
+ "common_name": "Onychomys torridus",
+ "id": 38674,
+ "organism": null,
+ "strain": null
+ }
+ },
+ "tag": {}
+ }
+ ],
+ "location": "B1",
+ "state": "passed"
+ },
+ {
+ "created_at": "2016-01-21 16:07:44 +0000",
+ "updated_at": "2016-01-21 16:08:28 +0000",
+ "plate": {
+ "actions": {
+ "read": "http://localhost:3000/ilc-stock-plate-with-metadata-uuid"
+ },
+ "uuid": "ilc-stock-plate-with-metadata-uuid"
+ },
+ "actions": {
+ "read": "http://localhost:3000/well-6-uuid"
+ },
+ "uuid": "well-6-uuid",
+ "aliquots": [
+ {
+ "created_at": "2016-01-21 16:07:47 +0000",
+ "updated_at": "2016-01-21 16:07:47 +0000",
+ "bait_library": null,
+ "insert_size": {},
+ "sample": {
+ "created_at": "2015-12-04 14:25:35 +0000",
+ "updated_at": "2016-01-13 11:43:58 +0000",
+ "actions": {
+ "read": "http://localhost:3000/sample-6-uuid"
+ },
+ "uuid": "sample-6-uuid",
+ "data_release": {
+ "accession_number": null,
+ "description": null,
+ "managed": {
+ "disease": null,
+ "subject": null,
+ "treatment": null
+ },
+ "metagenomics": {
+ "age": null,
+ "cell_type": null,
+ "compound": null,
+ "developmental_stage": null,
+ "disease": null,
+ "disease_state": null,
+ "dose": null,
+ "genotype": null,
+ "growth_condition": null,
+ "immunoprecipitate": null,
+ "organism_part": null,
+ "phenotype": null,
+ "rnai": null,
+ "subject": null,
+ "time_point": null,
+ "treatment": null
+ },
+ "public_name": null,
+ "sample_type": null,
+ "visibility": null
+ },
+ "family": {
+ "father": null,
+ "mother": null,
+ "replicate": null,
+ "sibling": null
+ },
+ "reference": {
+ "genome": "Not suitable for alignment"
+ },
+ "sanger": {
+ "description": null,
+ "name": "sample_6",
+ "resubmitted": false,
+ "sample_id": "sample_6"
+ },
+ "source": {
+ "cohort": null,
+ "control": false,
+ "country": null,
+ "dna_source": "Tissue",
+ "ethnicity": null,
+ "region": null
+ },
+ "supplier": {
+ "collection": {
+ "date": null
+ },
+ "extraction": {
+ "date": null,
+ "method": null
+ },
+ "measurements": {
+ "concentration": "142",
+ "concentration_determined_by": null,
+ "gc_content": null,
+ "gender": null,
+ "volume": "120"
+ },
+ "purification": {
+ "method": null,
+ "purified": null
+ },
+ "sample_name": "GB2",
+ "storage_conditions": null
+ },
+ "taxonomy": {
+ "common_name": "Onychomys torridus",
+ "id": 38674,
+ "organism": null,
+ "strain": null
+ }
+ },
+ "tag": {}
+ }
+ ],
+ "location": "B2",
+ "state": "passed"
+ },
+ {
+ "created_at": "2016-01-21 16:07:45 +0000",
+ "updated_at": "2016-01-21 16:08:28 +0000",
+ "plate": {
+ "actions": {
+ "read": "http://localhost:3000/ilc-stock-plate-with-metadata-uuid"
+ },
+ "uuid": "ilc-stock-plate-with-metadata-uuid"
+ },
+ "actions": {
+ "read": "http://localhost:3000/well-7-uuid"
+ },
+ "uuid": "well-7-uuid",
+ "aliquots": [
+ {
+ "created_at": "2016-01-21 16:07:48 +0000",
+ "updated_at": "2016-01-21 16:07:48 +0000",
+ "bait_library": null,
+ "insert_size": {},
+ "sample": {
+ "created_at": "2015-12-04 14:25:35 +0000",
+ "updated_at": "2016-01-13 11:43:58 +0000",
+ "actions": {
+ "read": "http://localhost:3000/sample-7-uuid"
+ },
+ "uuid": "sample-7-uuid",
+ "data_release": {
+ "accession_number": null,
+ "description": null,
+ "managed": {
+ "disease": null,
+ "subject": null,
+ "treatment": null
+ },
+ "metagenomics": {
+ "age": null,
+ "cell_type": null,
+ "compound": null,
+ "developmental_stage": null,
+ "disease": null,
+ "disease_state": null,
+ "dose": null,
+ "genotype": null,
+ "growth_condition": null,
+ "immunoprecipitate": null,
+ "organism_part": null,
+ "phenotype": null,
+ "rnai": null,
+ "subject": null,
+ "time_point": null,
+ "treatment": null
+ },
+ "public_name": null,
+ "sample_type": null,
+ "visibility": null
+ },
+ "family": {
+ "father": null,
+ "mother": null,
+ "replicate": null,
+ "sibling": null
+ },
+ "reference": {
+ "genome": "Not suitable for alignment"
+ },
+ "sanger": {
+ "description": null,
+ "name": "sample_7",
+ "resubmitted": false,
+ "sample_id": "sample_7"
+ },
+ "source": {
+ "cohort": null,
+ "control": false,
+ "country": null,
+ "dna_source": "Tissue",
+ "ethnicity": null,
+ "region": null
+ },
+ "supplier": {
+ "collection": {
+ "date": null
+ },
+ "extraction": {
+ "date": null,
+ "method": null
+ },
+ "measurements": {
+ "concentration": "14.6",
+ "concentration_determined_by": null,
+ "gc_content": null,
+ "gender": null,
+ "volume": "60"
+ },
+ "purification": {
+ "method": null,
+ "purified": null
+ },
+ "sample_name": "DA1",
+ "storage_conditions": null
+ },
+ "taxonomy": {
+ "common_name": "Mus musculus",
+ "id": 10090,
+ "organism": null,
+ "strain": null
+ }
+ },
+ "tag": {}
+ }
+ ],
+ "location": "B3",
+ "state": "passed"
+ },
+ {
+ "created_at": "2016-01-21 16:07:45 +0000",
+ "updated_at": "2016-01-21 16:08:28 +0000",
+ "plate": {
+ "actions": {
+ "read": "http://localhost:3000/ilc-stock-plate-with-metadata-uuid"
+ },
+ "uuid": "ilc-stock-plate-with-metadata-uuid"
+ },
+ "actions": {
+ "read": "http://localhost:3000/well-8-uuid"
+ },
+ "uuid": "well-8-uuid",
+ "aliquots": [
+ {
+ "created_at": "2016-01-21 16:07:49 +0000",
+ "updated_at": "2016-01-21 16:07:49 +0000",
+ "bait_library": null,
+ "insert_size": {},
+ "sample": {
+ "created_at": "2015-12-04 14:25:36 +0000",
+ "updated_at": "2016-01-13 11:43:59 +0000",
+ "actions": {
+ "read": "http://localhost:3000/sample-8-uuid"
+ },
+ "uuid": "sample-8-uuid",
+ "data_release": {
+ "accession_number": null,
+ "description": null,
+ "managed": {
+ "disease": null,
+ "subject": null,
+ "treatment": null
+ },
+ "metagenomics": {
+ "age": null,
+ "cell_type": null,
+ "compound": null,
+ "developmental_stage": null,
+ "disease": null,
+ "disease_state": null,
+ "dose": null,
+ "genotype": null,
+ "growth_condition": null,
+ "immunoprecipitate": null,
+ "organism_part": null,
+ "phenotype": null,
+ "rnai": null,
+ "subject": null,
+ "time_point": null,
+ "treatment": null
+ },
+ "public_name": null,
+ "sample_type": null,
+ "visibility": null
+ },
+ "family": {
+ "father": null,
+ "mother": null,
+ "replicate": null,
+ "sibling": null
+ },
+ "reference": {
+ "genome": "Not suitable for alignment"
+ },
+ "sanger": {
+ "description": null,
+ "name": "sample_8",
+ "resubmitted": false,
+ "sample_id": "sample_8"
+ },
+ "source": {
+ "cohort": null,
+ "control": false,
+ "country": null,
+ "dna_source": "Tissue",
+ "ethnicity": null,
+ "region": null
+ },
+ "supplier": {
+ "collection": {
+ "date": null
+ },
+ "extraction": {
+ "date": null,
+ "method": null
+ },
+ "measurements": {
+ "concentration": "14",
+ "concentration_determined_by": null,
+ "gc_content": null,
+ "gender": null,
+ "volume": "120"
+ },
+ "purification": {
+ "method": null,
+ "purified": null
+ },
+ "sample_name": "SA3",
+ "storage_conditions": null
+ },
+ "taxonomy": {
+ "common_name": "Mus musculus",
+ "id": 10090,
+ "organism": null,
+ "strain": null
+ }
+ },
+ "tag": {}
+ }
+ ],
+ "location": "B4",
+ "state": "passed"
+ },
+ {
+ "created_at": "2016-01-21 16:07:44 +0000",
+ "updated_at": "2016-01-21 16:08:28 +0000",
+ "plate": {
+ "actions": {
+ "read": "http://localhost:3000/ilc-stock-plate-with-metadata-uuid"
+ },
+ "uuid": "ilc-stock-plate-with-metadata-uuid"
+ },
+ "actions": {
+ "read": "http://localhost:3000/well-9-uuid"
+ },
+ "uuid": "well-9-uuid",
+ "aliquots": [
+ {
+ "created_at": "2016-01-21 16:07:46 +0000",
+ "updated_at": "2016-01-21 16:07:46 +0000",
+ "bait_library": null,
+ "insert_size": {},
+ "sample": {
+ "created_at": "2015-12-04 14:25:35 +0000",
+ "updated_at": "2016-01-13 11:43:58 +0000",
+ "actions": {
+ "read": "http://localhost:3000/sample-9-uuid"
+ },
+ "uuid": "sample-9-uuid",
+ "data_release": {
+ "accession_number": null,
+ "description": null,
+ "managed": {
+ "disease": null,
+ "subject": null,
+ "treatment": null
+ },
+ "metagenomics": {
+ "age": null,
+ "cell_type": null,
+ "compound": null,
+ "developmental_stage": null,
+ "disease": null,
+ "disease_state": null,
+ "dose": null,
+ "genotype": null,
+ "growth_condition": null,
+ "immunoprecipitate": null,
+ "organism_part": null,
+ "phenotype": null,
+ "rnai": null,
+ "subject": null,
+ "time_point": null,
+ "treatment": null
+ },
+ "public_name": null,
+ "sample_type": null,
+ "visibility": null
+ },
+ "family": {
+ "father": null,
+ "mother": null,
+ "replicate": null,
+ "sibling": null
+ },
+ "reference": {
+ "genome": "Not suitable for alignment"
+ },
+ "sanger": {
+ "description": null,
+ "name": "sample_9",
+ "resubmitted": false,
+ "sample_id": "sample_9"
+ },
+ "source": {
+ "cohort": null,
+ "control": false,
+ "country": null,
+ "dna_source": "Tissue",
+ "ethnicity": null,
+ "region": null
+ },
+ "supplier": {
+ "collection": {
+ "date": null
+ },
+ "extraction": {
+ "date": null,
+ "method": null
+ },
+ "measurements": {
+ "concentration": "14",
+ "concentration_determined_by": null,
+ "gc_content": null,
+ "gender": null,
+ "volume": "60"
+ },
+ "purification": {
+ "method": null,
+ "purified": null
+ },
+ "sample_name": "GDA1",
+ "storage_conditions": null
+ },
+ "taxonomy": {
+ "common_name": "Onychomys torridus",
+ "id": 38674,
+ "organism": null,
+ "strain": null
+ }
+ },
+ "tag": {}
+ }
+ ],
+ "location": "C1",
+ "state": "passed"
+ },
+ {
+ "created_at": "2016-01-21 16:07:44 +0000",
+ "updated_at": "2016-01-21 16:08:28 +0000",
+ "plate": {
+ "actions": {
+ "read": "http://localhost:3000/ilc-stock-plate-with-metadata-uuid"
+ },
+ "uuid": "ilc-stock-plate-with-metadata-uuid"
+ },
+ "actions": {
+ "read": "http://localhost:3000/well-10-uuid"
+ },
+ "uuid": "well-10-uuid",
+ "aliquots": [
+ {
+ "created_at": "2016-01-21 16:07:47 +0000",
+ "updated_at": "2016-01-21 16:07:47 +0000",
+ "bait_library": null,
+ "insert_size": {},
+ "sample": {
+ "created_at": "2015-12-04 14:25:35 +0000",
+ "updated_at": "2016-01-13 11:43:58 +0000",
+ "actions": {
+ "read": "http://localhost:3000/sample-10-uuid"
+ },
+ "uuid": "sample-10-uuid",
+ "data_release": {
+ "accession_number": null,
+ "description": null,
+ "managed": {
+ "disease": null,
+ "subject": null,
+ "treatment": null
+ },
+ "metagenomics": {
+ "age": null,
+ "cell_type": null,
+ "compound": null,
+ "developmental_stage": null,
+ "disease": null,
+ "disease_state": null,
+ "dose": null,
+ "genotype": null,
+ "growth_condition": null,
+ "immunoprecipitate": null,
+ "organism_part": null,
+ "phenotype": null,
+ "rnai": null,
+ "subject": null,
+ "time_point": null,
+ "treatment": null
+ },
+ "public_name": null,
+ "sample_type": null,
+ "visibility": null
+ },
+ "family": {
+ "father": null,
+ "mother": null,
+ "replicate": null,
+ "sibling": null
+ },
+ "reference": {
+ "genome": "Not suitable for alignment"
+ },
+ "sanger": {
+ "description": null,
+ "name": "sample_10",
+ "resubmitted": false,
+ "sample_id": "sample_10"
+ },
+ "source": {
+ "cohort": null,
+ "control": false,
+ "country": null,
+ "dna_source": "Tissue",
+ "ethnicity": null,
+ "region": null
+ },
+ "supplier": {
+ "collection": {
+ "date": null
+ },
+ "extraction": {
+ "date": null,
+ "method": null
+ },
+ "measurements": {
+ "concentration": "9.2",
+ "concentration_determined_by": null,
+ "gc_content": null,
+ "gender": null,
+ "volume": "120"
+ },
+ "purification": {
+ "method": null,
+ "purified": null
+ },
+ "sample_name": "GSA3",
+ "storage_conditions": null
+ },
+ "taxonomy": {
+ "common_name": "Onychomys torridus",
+ "id": 38674,
+ "organism": null,
+ "strain": null
+ }
+ },
+ "tag": {}
+ }
+ ],
+ "location": "C2",
+ "state": "passed"
+ },
+ {
+ "created_at": "2016-01-21 16:07:45 +0000",
+ "updated_at": "2016-01-21 16:08:28 +0000",
+ "plate": {
+ "actions": {
+ "read": "http://localhost:3000/ilc-stock-plate-with-metadata-uuid"
+ },
+ "uuid": "ilc-stock-plate-with-metadata-uuid"
+ },
+ "actions": {
+ "read": "http://localhost:3000/well-11-uuid"
+ },
+ "uuid": "well-11-uuid",
+ "aliquots": [
+ {
+ "created_at": "2016-01-21 16:07:48 +0000",
+ "updated_at": "2016-01-21 16:07:48 +0000",
+ "bait_library": null,
+ "insert_size": {},
+ "sample": {
+ "created_at": "2015-12-04 14:25:35 +0000",
+ "updated_at": "2016-01-13 11:43:58 +0000",
+ "actions": {
+ "read": "http://localhost:3000/sample-11-uuid"
+ },
+ "uuid": "sample-11-uuid",
+ "data_release": {
+ "accession_number": null,
+ "description": null,
+ "managed": {
+ "disease": null,
+ "subject": null,
+ "treatment": null
+ },
+ "metagenomics": {
+ "age": null,
+ "cell_type": null,
+ "compound": null,
+ "developmental_stage": null,
+ "disease": null,
+ "disease_state": null,
+ "dose": null,
+ "genotype": null,
+ "growth_condition": null,
+ "immunoprecipitate": null,
+ "organism_part": null,
+ "phenotype": null,
+ "rnai": null,
+ "subject": null,
+ "time_point": null,
+ "treatment": null
+ },
+ "public_name": null,
+ "sample_type": null,
+ "visibility": null
+ },
+ "family": {
+ "father": null,
+ "mother": null,
+ "replicate": null,
+ "sibling": null
+ },
+ "reference": {
+ "genome": "Not suitable for alignment"
+ },
+ "sanger": {
+ "description": null,
+ "name": "sample_11",
+ "resubmitted": false,
+ "sample_id": "sample_11"
+ },
+ "source": {
+ "cohort": null,
+ "control": false,
+ "country": null,
+ "dna_source": "Tissue",
+ "ethnicity": null,
+ "region": null
+ },
+ "supplier": {
+ "collection": {
+ "date": null
+ },
+ "extraction": {
+ "date": null,
+ "method": null
+ },
+ "measurements": {
+ "concentration": "15.8",
+ "concentration_determined_by": null,
+ "gc_content": null,
+ "gender": null,
+ "volume": "60"
+ },
+ "purification": {
+ "method": null,
+ "purified": null
+ },
+ "sample_name": "DP1",
+ "storage_conditions": null
+ },
+ "taxonomy": {
+ "common_name": "Mus musculus",
+ "id": 10090,
+ "organism": null,
+ "strain": null
+ }
+ },
+ "tag": {}
+ }
+ ],
+ "location": "C3",
+ "state": "passed"
+ },
+ {
+ "created_at": "2016-01-21 16:07:45 +0000",
+ "updated_at": "2016-01-21 16:08:28 +0000",
+ "plate": {
+ "actions": {
+ "read": "http://localhost:3000/ilc-stock-plate-with-metadata-uuid"
+ },
+ "uuid": "ilc-stock-plate-with-metadata-uuid"
+ },
+ "actions": {
+ "read": "http://localhost:3000/well-12-uuid"
+ },
+ "uuid": "well-12-uuid",
+ "aliquots": [
+ {
+ "created_at": "2016-01-21 16:07:49 +0000",
+ "updated_at": "2016-01-21 16:07:49 +0000",
+ "bait_library": null,
+ "insert_size": {},
+ "sample": {
+ "created_at": "2015-12-04 14:25:36 +0000",
+ "updated_at": "2016-01-13 11:43:59 +0000",
+ "actions": {
+ "read": "http://localhost:3000/sample-12-uuid"
+ },
+ "uuid": "sample-12-uuid",
+ "data_release": {
+ "accession_number": null,
+ "description": null,
+ "managed": {
+ "disease": null,
+ "subject": null,
+ "treatment": null
+ },
+ "metagenomics": {
+ "age": null,
+ "cell_type": null,
+ "compound": null,
+ "developmental_stage": null,
+ "disease": null,
+ "disease_state": null,
+ "dose": null,
+ "genotype": null,
+ "growth_condition": null,
+ "immunoprecipitate": null,
+ "organism_part": null,
+ "phenotype": null,
+ "rnai": null,
+ "subject": null,
+ "time_point": null,
+ "treatment": null
+ },
+ "public_name": null,
+ "sample_type": null,
+ "visibility": null
+ },
+ "family": {
+ "father": null,
+ "mother": null,
+ "replicate": null,
+ "sibling": null
+ },
+ "reference": {
+ "genome": "Not suitable for alignment"
+ },
+ "sanger": {
+ "description": null,
+ "name": "sample_12",
+ "resubmitted": false,
+ "sample_id": "sample_12"
+ },
+ "source": {
+ "cohort": null,
+ "control": false,
+ "country": null,
+ "dna_source": "Tissue",
+ "ethnicity": null,
+ "region": null
+ },
+ "supplier": {
+ "collection": {
+ "date": null
+ },
+ "extraction": {
+ "date": null,
+ "method": null
+ },
+ "measurements": {
+ "concentration": "13.7",
+ "concentration_determined_by": null,
+ "gc_content": null,
+ "gender": null,
+ "volume": "120"
+ },
+ "purification": {
+ "method": null,
+ "purified": null
+ },
+ "sample_name": "SP3",
+ "storage_conditions": null
+ },
+ "taxonomy": {
+ "common_name": "Mus musculus",
+ "id": 10090,
+ "organism": null,
+ "strain": null
+ }
+ },
+ "tag": {}
+ }
+ ],
+ "location": "C4",
+ "state": "passed"
+ },
+ {
+ "created_at": "2016-01-21 16:07:44 +0000",
+ "updated_at": "2016-01-21 16:08:28 +0000",
+ "plate": {
+ "actions": {
+ "read": "http://localhost:3000/ilc-stock-plate-with-metadata-uuid"
+ },
+ "uuid": "ilc-stock-plate-with-metadata-uuid"
+ },
+ "actions": {
+ "read": "http://localhost:3000/well-13-uuid"
+ },
+ "uuid": "well-13-uuid",
+ "aliquots": [
+ {
+ "created_at": "2016-01-21 16:07:46 +0000",
+ "updated_at": "2016-01-21 16:07:46 +0000",
+ "bait_library": null,
+ "insert_size": {},
+ "sample": {
+ "created_at": "2015-12-04 14:25:35 +0000",
+ "updated_at": "2016-01-13 11:43:58 +0000",
+ "actions": {
+ "read": "http://localhost:3000/sample-13-uuid"
+ },
+ "uuid": "sample-13-uuid",
+ "data_release": {
+ "accession_number": null,
+ "description": null,
+ "managed": {
+ "disease": null,
+ "subject": null,
+ "treatment": null
+ },
+ "metagenomics": {
+ "age": null,
+ "cell_type": null,
+ "compound": null,
+ "developmental_stage": null,
+ "disease": null,
+ "disease_state": null,
+ "dose": null,
+ "genotype": null,
+ "growth_condition": null,
+ "immunoprecipitate": null,
+ "organism_part": null,
+ "phenotype": null,
+ "rnai": null,
+ "subject": null,
+ "time_point": null,
+ "treatment": null
+ },
+ "public_name": null,
+ "sample_type": null,
+ "visibility": null
+ },
+ "family": {
+ "father": null,
+ "mother": null,
+ "replicate": null,
+ "sibling": null
+ },
+ "reference": {
+ "genome": "Not suitable for alignment"
+ },
+ "sanger": {
+ "description": null,
+ "name": "sample_13",
+ "resubmitted": false,
+ "sample_id": "sample_13"
+ },
+ "source": {
+ "cohort": null,
+ "control": false,
+ "country": null,
+ "dna_source": "Tissue",
+ "ethnicity": null,
+ "region": null
+ },
+ "supplier": {
+ "collection": {
+ "date": null
+ },
+ "extraction": {
+ "date": null,
+ "method": null
+ },
+ "measurements": {
+ "concentration": "33.8",
+ "concentration_determined_by": null,
+ "gc_content": null,
+ "gender": null,
+ "volume": "60"
+ },
+ "purification": {
+ "method": null,
+ "purified": null
+ },
+ "sample_name": "GDP1",
+ "storage_conditions": null
+ },
+ "taxonomy": {
+ "common_name": "Onychomys torridus",
+ "id": 38674,
+ "organism": null,
+ "strain": null
+ }
+ },
+ "tag": {}
+ }
+ ],
+ "location": "D1",
+ "state": "passed"
+ },
+ {
+ "created_at": "2016-01-21 16:07:44 +0000",
+ "updated_at": "2016-01-21 16:08:28 +0000",
+ "plate": {
+ "actions": {
+ "read": "http://localhost:3000/ilc-stock-plate-with-metadata-uuid"
+ },
+ "uuid": "ilc-stock-plate-with-metadata-uuid"
+ },
+ "actions": {
+ "read": "http://localhost:3000/well-14-uuid"
+ },
+ "uuid": "well-14-uuid",
+ "aliquots": [
+ {
+ "created_at": "2016-01-21 16:07:47 +0000",
+ "updated_at": "2016-01-21 16:07:47 +0000",
+ "bait_library": null,
+ "insert_size": {},
+ "sample": {
+ "created_at": "2015-12-04 14:25:35 +0000",
+ "updated_at": "2016-01-13 11:43:58 +0000",
+ "actions": {
+ "read": "http://localhost:3000/sample-14-uuid"
+ },
+ "uuid": "sample-14-uuid",
+ "data_release": {
+ "accession_number": null,
+ "description": null,
+ "managed": {
+ "disease": null,
+ "subject": null,
+ "treatment": null
+ },
+ "metagenomics": {
+ "age": null,
+ "cell_type": null,
+ "compound": null,
+ "developmental_stage": null,
+ "disease": null,
+ "disease_state": null,
+ "dose": null,
+ "genotype": null,
+ "growth_condition": null,
+ "immunoprecipitate": null,
+ "organism_part": null,
+ "phenotype": null,
+ "rnai": null,
+ "subject": null,
+ "time_point": null,
+ "treatment": null
+ },
+ "public_name": null,
+ "sample_type": null,
+ "visibility": null
+ },
+ "family": {
+ "father": null,
+ "mother": null,
+ "replicate": null,
+ "sibling": null
+ },
+ "reference": {
+ "genome": "Not suitable for alignment"
+ },
+ "sanger": {
+ "description": null,
+ "name": "sample_14",
+ "resubmitted": false,
+ "sample_id": "sample_14"
+ },
+ "source": {
+ "cohort": null,
+ "control": false,
+ "country": null,
+ "dna_source": "Tissue",
+ "ethnicity": null,
+ "region": null
+ },
+ "supplier": {
+ "collection": {
+ "date": null
+ },
+ "extraction": {
+ "date": null,
+ "method": null
+ },
+ "measurements": {
+ "concentration": "12.7",
+ "concentration_determined_by": null,
+ "gc_content": null,
+ "gender": null,
+ "volume": "120"
+ },
+ "purification": {
+ "method": null,
+ "purified": null
+ },
+ "sample_name": "GSP3",
+ "storage_conditions": null
+ },
+ "taxonomy": {
+ "common_name": "Onychomys torridus",
+ "id": 38674,
+ "organism": null,
+ "strain": null
+ }
+ },
+ "tag": {}
+ }
+ ],
+ "location": "D2",
+ "state": "passed"
+ },
+ {
+ "created_at": "2016-01-21 16:07:45 +0000",
+ "updated_at": "2016-01-21 16:08:28 +0000",
+ "plate": {
+ "actions": {
+ "read": "http://localhost:3000/ilc-stock-plate-with-metadata-uuid"
+ },
+ "uuid": "ilc-stock-plate-with-metadata-uuid"
+ },
+ "actions": {
+ "read": "http://localhost:3000/well-15-uuid"
+ },
+ "uuid": "well-15-uuid",
+ "aliquots": [
+ {
+ "created_at": "2016-01-21 16:07:48 +0000",
+ "updated_at": "2016-01-21 16:07:48 +0000",
+ "bait_library": null,
+ "insert_size": {},
+ "sample": {
+ "created_at": "2015-12-04 14:25:35 +0000",
+ "updated_at": "2016-01-13 11:43:58 +0000",
+ "actions": {
+ "read": "http://localhost:3000/sample-15-uuid"
+ },
+ "uuid": "sample-15-uuid",
+ "data_release": {
+ "accession_number": null,
+ "description": null,
+ "managed": {
+ "disease": null,
+ "subject": null,
+ "treatment": null
+ },
+ "metagenomics": {
+ "age": null,
+ "cell_type": null,
+ "compound": null,
+ "developmental_stage": null,
+ "disease": null,
+ "disease_state": null,
+ "dose": null,
+ "genotype": null,
+ "growth_condition": null,
+ "immunoprecipitate": null,
+ "organism_part": null,
+ "phenotype": null,
+ "rnai": null,
+ "subject": null,
+ "time_point": null,
+ "treatment": null
+ },
+ "public_name": null,
+ "sample_type": null,
+ "visibility": null
+ },
+ "family": {
+ "father": null,
+ "mother": null,
+ "replicate": null,
+ "sibling": null
+ },
+ "reference": {
+ "genome": "Not suitable for alignment"
+ },
+ "sanger": {
+ "description": null,
+ "name": "sample_15",
+ "resubmitted": false,
+ "sample_id": "sample_15"
+ },
+ "source": {
+ "cohort": null,
+ "control": false,
+ "country": null,
+ "dna_source": "Tissue",
+ "ethnicity": null,
+ "region": null
+ },
+ "supplier": {
+ "collection": {
+ "date": null
+ },
+ "extraction": {
+ "date": null,
+ "method": null
+ },
+ "measurements": {
+ "concentration": "25.2",
+ "concentration_determined_by": null,
+ "gc_content": null,
+ "gender": null,
+ "volume": "60"
+ },
+ "purification": {
+ "method": null,
+ "purified": null
+ },
+ "sample_name": "B1",
+ "storage_conditions": null
+ },
+ "taxonomy": {
+ "common_name": "Mus musculus",
+ "id": 10090,
+ "organism": null,
+ "strain": null
+ }
+ },
+ "tag": {}
+ }
+ ],
+ "location": "D3",
+ "state": "passed"
+ },
+ {
+ "created_at": "2016-01-21 16:07:45 +0000",
+ "updated_at": "2016-01-21 16:08:28 +0000",
+ "plate": {
+ "actions": {
+ "read": "http://localhost:3000/ilc-stock-plate-with-metadata-uuid"
+ },
+ "uuid": "ilc-stock-plate-with-metadata-uuid"
+ },
+ "actions": {
+ "read": "http://localhost:3000/well-16-uuid"
+ },
+ "uuid": "well-16-uuid",
+ "aliquots": [
+ {
+ "created_at": "2016-01-21 16:07:49 +0000",
+ "updated_at": "2016-01-21 16:07:49 +0000",
+ "bait_library": null,
+ "insert_size": {},
+ "sample": {
+ "created_at": "2015-12-04 14:25:36 +0000",
+ "updated_at": "2016-01-13 11:43:59 +0000",
+ "actions": {
+ "read": "http://localhost:3000/sample-16-uuid"
+ },
+ "uuid": "sample-16-uuid",
+ "data_release": {
+ "accession_number": null,
+ "description": null,
+ "managed": {
+ "disease": null,
+ "subject": null,
+ "treatment": null
+ },
+ "metagenomics": {
+ "age": null,
+ "cell_type": null,
+ "compound": null,
+ "developmental_stage": null,
+ "disease": null,
+ "disease_state": null,
+ "dose": null,
+ "genotype": null,
+ "growth_condition": null,
+ "immunoprecipitate": null,
+ "organism_part": null,
+ "phenotype": null,
+ "rnai": null,
+ "subject": null,
+ "time_point": null,
+ "treatment": null
+ },
+ "public_name": null,
+ "sample_type": null,
+ "visibility": null
+ },
+ "family": {
+ "father": null,
+ "mother": null,
+ "replicate": null,
+ "sibling": null
+ },
+ "reference": {
+ "genome": "Not suitable for alignment"
+ },
+ "sanger": {
+ "description": null,
+ "name": "sample_16",
+ "resubmitted": false,
+ "sample_id": "sample_16"
+ },
+ "source": {
+ "cohort": null,
+ "control": false,
+ "country": null,
+ "dna_source": "Tissue",
+ "ethnicity": null,
+ "region": null
+ },
+ "supplier": {
+ "collection": {
+ "date": null
+ },
+ "extraction": {
+ "date": null,
+ "method": null
+ },
+ "measurements": {
+ "concentration": "5.1",
+ "concentration_determined_by": null,
+ "gc_content": null,
+ "gender": null,
+ "volume": "120"
+ },
+ "purification": {
+ "method": null,
+ "purified": null
+ },
+ "sample_name": "DA3",
+ "storage_conditions": null
+ },
+ "taxonomy": {
+ "common_name": "Mus musculus",
+ "id": 10090,
+ "organism": null,
+ "strain": null
+ }
+ },
+ "tag": {}
+ }
+ ],
+ "location": "D4",
+ "state": "passed"
+ },
+ {
+ "created_at": "2016-01-21 16:07:44 +0000",
+ "updated_at": "2016-01-21 16:08:28 +0000",
+ "plate": {
+ "actions": {
+ "read": "http://localhost:3000/ilc-stock-plate-with-metadata-uuid"
+ },
+ "uuid": "ilc-stock-plate-with-metadata-uuid"
+ },
+ "actions": {
+ "read": "http://localhost:3000/well-17-uuid"
+ },
+ "uuid": "well-17-uuid",
+ "aliquots": [
+ {
+ "created_at": "2016-01-21 16:07:46 +0000",
+ "updated_at": "2016-01-21 16:07:46 +0000",
+ "bait_library": null,
+ "insert_size": {},
+ "sample": {
+ "created_at": "2015-12-04 14:25:35 +0000",
+ "updated_at": "2016-01-13 11:43:58 +0000",
+ "actions": {
+ "read": "http://localhost:3000/sample-17-uuid"
+ },
+ "uuid": "sample-17-uuid",
+ "data_release": {
+ "accession_number": null,
+ "description": null,
+ "managed": {
+ "disease": null,
+ "subject": null,
+ "treatment": null
+ },
+ "metagenomics": {
+ "age": null,
+ "cell_type": null,
+ "compound": null,
+ "developmental_stage": null,
+ "disease": null,
+ "disease_state": null,
+ "dose": null,
+ "genotype": null,
+ "growth_condition": null,
+ "immunoprecipitate": null,
+ "organism_part": null,
+ "phenotype": null,
+ "rnai": null,
+ "subject": null,
+ "time_point": null,
+ "treatment": null
+ },
+ "public_name": null,
+ "sample_type": null,
+ "visibility": null
+ },
+ "family": {
+ "father": null,
+ "mother": null,
+ "replicate": null,
+ "sibling": null
+ },
+ "reference": {
+ "genome": "Not suitable for alignment"
+ },
+ "sanger": {
+ "description": null,
+ "name": "sample_17",
+ "resubmitted": false,
+ "sample_id": "sample_17"
+ },
+ "source": {
+ "cohort": null,
+ "control": false,
+ "country": null,
+ "dna_source": "Tissue",
+ "ethnicity": null,
+ "region": null
+ },
+ "supplier": {
+ "collection": {
+ "date": null
+ },
+ "extraction": {
+ "date": null,
+ "method": null
+ },
+ "measurements": {
+ "concentration": "52.2",
+ "concentration_determined_by": null,
+ "gc_content": null,
+ "gender": null,
+ "volume": "60"
+ },
+ "purification": {
+ "method": null,
+ "purified": null
+ },
+ "sample_name": "GB1",
+ "storage_conditions": null
+ },
+ "taxonomy": {
+ "common_name": "Onychomys torridus",
+ "id": 38674,
+ "organism": null,
+ "strain": null
+ }
+ },
+ "tag": {}
+ }
+ ],
+ "location": "E1",
+ "state": "passed"
+ },
+ {
+ "created_at": "2016-01-21 16:07:44 +0000",
+ "updated_at": "2016-01-21 16:08:28 +0000",
+ "plate": {
+ "actions": {
+ "read": "http://localhost:3000/ilc-stock-plate-with-metadata-uuid"
+ },
+ "uuid": "ilc-stock-plate-with-metadata-uuid"
+ },
+ "actions": {
+ "read": "http://localhost:3000/well-18-uuid"
+ },
+ "uuid": "well-18-uuid",
+ "aliquots": [
+ {
+ "created_at": "2016-01-21 16:07:47 +0000",
+ "updated_at": "2016-01-21 16:07:47 +0000",
+ "bait_library": null,
+ "insert_size": {},
+ "sample": {
+ "created_at": "2015-12-04 14:25:35 +0000",
+ "updated_at": "2016-01-13 11:43:58 +0000",
+ "actions": {
+ "read": "http://localhost:3000/sample-18-uuid"
+ },
+ "uuid": "sample-18-uuid",
+ "data_release": {
+ "accession_number": null,
+ "description": null,
+ "managed": {
+ "disease": null,
+ "subject": null,
+ "treatment": null
+ },
+ "metagenomics": {
+ "age": null,
+ "cell_type": null,
+ "compound": null,
+ "developmental_stage": null,
+ "disease": null,
+ "disease_state": null,
+ "dose": null,
+ "genotype": null,
+ "growth_condition": null,
+ "immunoprecipitate": null,
+ "organism_part": null,
+ "phenotype": null,
+ "rnai": null,
+ "subject": null,
+ "time_point": null,
+ "treatment": null
+ },
+ "public_name": null,
+ "sample_type": null,
+ "visibility": null
+ },
+ "family": {
+ "father": null,
+ "mother": null,
+ "replicate": null,
+ "sibling": null
+ },
+ "reference": {
+ "genome": "Not suitable for alignment"
+ },
+ "sanger": {
+ "description": null,
+ "name": "sample_18",
+ "resubmitted": false,
+ "sample_id": "sample_18"
+ },
+ "source": {
+ "cohort": null,
+ "control": false,
+ "country": null,
+ "dna_source": "Tissue",
+ "ethnicity": null,
+ "region": null
+ },
+ "supplier": {
+ "collection": {
+ "date": null
+ },
+ "extraction": {
+ "date": null,
+ "method": null
+ },
+ "measurements": {
+ "concentration": "6.3",
+ "concentration_determined_by": null,
+ "gc_content": null,
+ "gender": null,
+ "volume": "120"
+ },
+ "purification": {
+ "method": null,
+ "purified": null
+ },
+ "sample_name": "GDA3",
+ "storage_conditions": null
+ },
+ "taxonomy": {
+ "common_name": "Onychomys torridus",
+ "id": 38674,
+ "organism": null,
+ "strain": null
+ }
+ },
+ "tag": {}
+ }
+ ],
+ "location": "E2",
+ "state": "passed"
+ },
+ {
+ "created_at": "2016-01-21 16:07:45 +0000",
+ "updated_at": "2016-01-21 16:08:28 +0000",
+ "plate": {
+ "actions": {
+ "read": "http://localhost:3000/ilc-stock-plate-with-metadata-uuid"
+ },
+ "uuid": "ilc-stock-plate-with-metadata-uuid"
+ },
+ "actions": {
+ "read": "http://localhost:3000/well-19-uuid"
+ },
+ "uuid": "well-19-uuid",
+ "aliquots": [
+ {
+ "created_at": "2016-01-21 16:07:48 +0000",
+ "updated_at": "2016-01-21 16:07:48 +0000",
+ "bait_library": null,
+ "insert_size": {},
+ "sample": {
+ "created_at": "2015-12-04 14:25:35 +0000",
+ "updated_at": "2016-01-13 11:43:58 +0000",
+ "actions": {
+ "read": "http://localhost:3000/sample-19-uuid"
+ },
+ "uuid": "sample-19-uuid",
+ "data_release": {
+ "accession_number": null,
+ "description": null,
+ "managed": {
+ "disease": null,
+ "subject": null,
+ "treatment": null
+ },
+ "metagenomics": {
+ "age": null,
+ "cell_type": null,
+ "compound": null,
+ "developmental_stage": null,
+ "disease": null,
+ "disease_state": null,
+ "dose": null,
+ "genotype": null,
+ "growth_condition": null,
+ "immunoprecipitate": null,
+ "organism_part": null,
+ "phenotype": null,
+ "rnai": null,
+ "subject": null,
+ "time_point": null,
+ "treatment": null
+ },
+ "public_name": null,
+ "sample_type": null,
+ "visibility": null
+ },
+ "family": {
+ "father": null,
+ "mother": null,
+ "replicate": null,
+ "sibling": null
+ },
+ "reference": {
+ "genome": "Not suitable for alignment"
+ },
+ "sanger": {
+ "description": null,
+ "name": "sample_19",
+ "resubmitted": false,
+ "sample_id": "sample_19"
+ },
+ "source": {
+ "cohort": null,
+ "control": false,
+ "country": null,
+ "dna_source": "Tissue",
+ "ethnicity": null,
+ "region": null
+ },
+ "supplier": {
+ "collection": {
+ "date": null
+ },
+ "extraction": {
+ "date": null,
+ "method": null
+ },
+ "measurements": {
+ "concentration": "13.2",
+ "concentration_determined_by": null,
+ "gc_content": null,
+ "gender": null,
+ "volume": "120"
+ },
+ "purification": {
+ "method": null,
+ "purified": null
+ },
+ "sample_name": "SA2",
+ "storage_conditions": null
+ },
+ "taxonomy": {
+ "common_name": "Mus musculus",
+ "id": 10090,
+ "organism": null,
+ "strain": null
+ }
+ },
+ "tag": {}
+ }
+ ],
+ "location": "E3",
+ "state": "passed"
+ },
+ {
+ "created_at": "2016-01-21 16:07:45 +0000",
+ "updated_at": "2016-01-21 16:08:28 +0000",
+ "plate": {
+ "actions": {
+ "read": "http://localhost:3000/ilc-stock-plate-with-metadata-uuid"
+ },
+ "uuid": "ilc-stock-plate-with-metadata-uuid"
+ },
+ "actions": {
+ "read": "http://localhost:3000/well-20-uuid"
+ },
+ "uuid": "well-20-uuid",
+ "aliquots": [
+ {
+ "created_at": "2016-01-21 16:07:49 +0000",
+ "updated_at": "2016-01-21 16:07:49 +0000",
+ "bait_library": null,
+ "insert_size": {},
+ "sample": {
+ "created_at": "2015-12-04 14:25:36 +0000",
+ "updated_at": "2016-01-13 11:43:59 +0000",
+ "actions": {
+ "read": "http://localhost:3000/sample-20-uuid"
+ },
+ "uuid": "sample-20-uuid",
+ "data_release": {
+ "accession_number": null,
+ "description": null,
+ "managed": {
+ "disease": null,
+ "subject": null,
+ "treatment": null
+ },
+ "metagenomics": {
+ "age": null,
+ "cell_type": null,
+ "compound": null,
+ "developmental_stage": null,
+ "disease": null,
+ "disease_state": null,
+ "dose": null,
+ "genotype": null,
+ "growth_condition": null,
+ "immunoprecipitate": null,
+ "organism_part": null,
+ "phenotype": null,
+ "rnai": null,
+ "subject": null,
+ "time_point": null,
+ "treatment": null
+ },
+ "public_name": null,
+ "sample_type": null,
+ "visibility": null
+ },
+ "family": {
+ "father": null,
+ "mother": null,
+ "replicate": null,
+ "sibling": null
+ },
+ "reference": {
+ "genome": "Not suitable for alignment"
+ },
+ "sanger": {
+ "description": null,
+ "name": "sample_20",
+ "resubmitted": false,
+ "sample_id": "sample_20"
+ },
+ "source": {
+ "cohort": null,
+ "control": false,
+ "country": null,
+ "dna_source": "Tissue",
+ "ethnicity": null,
+ "region": null
+ },
+ "supplier": {
+ "collection": {
+ "date": null
+ },
+ "extraction": {
+ "date": null,
+ "method": null
+ },
+ "measurements": {
+ "concentration": "12.8",
+ "concentration_determined_by": null,
+ "gc_content": null,
+ "gender": null,
+ "volume": "120"
+ },
+ "purification": {
+ "method": null,
+ "purified": null
+ },
+ "sample_name": "DP3",
+ "storage_conditions": null
+ },
+ "taxonomy": {
+ "common_name": "Mus musculus",
+ "id": 10090,
+ "organism": null,
+ "strain": null
+ }
+ },
+ "tag": {}
+ }
+ ],
+ "location": "E4",
+ "state": "passed"
+ },
+ {
+ "created_at": "2016-01-21 16:07:44 +0000",
+ "updated_at": "2016-01-21 16:08:28 +0000",
+ "plate": {
+ "actions": {
+ "read": "http://localhost:3000/ilc-stock-plate-with-metadata-uuid"
+ },
+ "uuid": "ilc-stock-plate-with-metadata-uuid"
+ },
+ "actions": {
+ "read": "http://localhost:3000/well-21-uuid"
+ },
+ "uuid": "well-21-uuid",
+ "aliquots": [
+ {
+ "created_at": "2016-01-21 16:07:47 +0000",
+ "updated_at": "2016-01-21 16:07:47 +0000",
+ "bait_library": null,
+ "insert_size": {},
+ "sample": {
+ "created_at": "2015-12-04 14:25:35 +0000",
+ "updated_at": "2016-01-13 11:43:58 +0000",
+ "actions": {
+ "read": "http://localhost:3000/sample-21-uuid"
+ },
+ "uuid": "sample-21-uuid",
+ "data_release": {
+ "accession_number": null,
+ "description": null,
+ "managed": {
+ "disease": null,
+ "subject": null,
+ "treatment": null
+ },
+ "metagenomics": {
+ "age": null,
+ "cell_type": null,
+ "compound": null,
+ "developmental_stage": null,
+ "disease": null,
+ "disease_state": null,
+ "dose": null,
+ "genotype": null,
+ "growth_condition": null,
+ "immunoprecipitate": null,
+ "organism_part": null,
+ "phenotype": null,
+ "rnai": null,
+ "subject": null,
+ "time_point": null,
+ "treatment": null
+ },
+ "public_name": null,
+ "sample_type": null,
+ "visibility": null
+ },
+ "family": {
+ "father": null,
+ "mother": null,
+ "replicate": null,
+ "sibling": null
+ },
+ "reference": {
+ "genome": "Not suitable for alignment"
+ },
+ "sanger": {
+ "description": null,
+ "name": "sample_21",
+ "resubmitted": false,
+ "sample_id": "sample_21"
+ },
+ "source": {
+ "cohort": null,
+ "control": false,
+ "country": null,
+ "dna_source": "Tissue",
+ "ethnicity": null,
+ "region": null
+ },
+ "supplier": {
+ "collection": {
+ "date": null
+ },
+ "extraction": {
+ "date": null,
+ "method": null
+ },
+ "measurements": {
+ "concentration": "16.9",
+ "concentration_determined_by": null,
+ "gc_content": null,
+ "gender": null,
+ "volume": "60"
+ },
+ "purification": {
+ "method": null,
+ "purified": null
+ },
+ "sample_name": "GSA2",
+ "storage_conditions": null
+ },
+ "taxonomy": {
+ "common_name": "Onychomys torridus",
+ "id": 38674,
+ "organism": null,
+ "strain": null
+ }
+ },
+ "tag": {}
+ }
+ ],
+ "location": "F1",
+ "state": "passed"
+ },
+ {
+ "created_at": "2016-01-21 16:07:44 +0000",
+ "updated_at": "2016-01-21 16:08:28 +0000",
+ "plate": {
+ "actions": {
+ "read": "http://localhost:3000/ilc-stock-plate-with-metadata-uuid"
+ },
+ "uuid": "ilc-stock-plate-with-metadata-uuid"
+ },
+ "actions": {
+ "read": "http://localhost:3000/well-22-uuid"
+ },
+ "uuid": "well-22-uuid",
+ "aliquots": [
+ {
+ "created_at": "2016-01-21 16:07:47 +0000",
+ "updated_at": "2016-01-21 16:07:47 +0000",
+ "bait_library": null,
+ "insert_size": {},
+ "sample": {
+ "created_at": "2015-12-04 14:25:35 +0000",
+ "updated_at": "2016-01-13 11:43:58 +0000",
+ "actions": {
+ "read": "http://localhost:3000/sample-22-uuid"
+ },
+ "uuid": "sample-22-uuid",
+ "data_release": {
+ "accession_number": null,
+ "description": null,
+ "managed": {
+ "disease": null,
+ "subject": null,
+ "treatment": null
+ },
+ "metagenomics": {
+ "age": null,
+ "cell_type": null,
+ "compound": null,
+ "developmental_stage": null,
+ "disease": null,
+ "disease_state": null,
+ "dose": null,
+ "genotype": null,
+ "growth_condition": null,
+ "immunoprecipitate": null,
+ "organism_part": null,
+ "phenotype": null,
+ "rnai": null,
+ "subject": null,
+ "time_point": null,
+ "treatment": null
+ },
+ "public_name": null,
+ "sample_type": null,
+ "visibility": null
+ },
+ "family": {
+ "father": null,
+ "mother": null,
+ "replicate": null,
+ "sibling": null
+ },
+ "reference": {
+ "genome": "Not suitable for alignment"
+ },
+ "sanger": {
+ "description": null,
+ "name": "sample_22",
+ "resubmitted": false,
+ "sample_id": "sample_22"
+ },
+ "source": {
+ "cohort": null,
+ "control": false,
+ "country": null,
+ "dna_source": "Tissue",
+ "ethnicity": null,
+ "region": null
+ },
+ "supplier": {
+ "collection": {
+ "date": null
+ },
+ "extraction": {
+ "date": null,
+ "method": null
+ },
+ "measurements": {
+ "concentration": "8.3",
+ "concentration_determined_by": null,
+ "gc_content": null,
+ "gender": null,
+ "volume": "120"
+ },
+ "purification": {
+ "method": null,
+ "purified": null
+ },
+ "sample_name": "GDP3",
+ "storage_conditions": null
+ },
+ "taxonomy": {
+ "common_name": "Onychomys torridus",
+ "id": 38674,
+ "organism": null,
+ "strain": null
+ }
+ },
+ "tag": {}
+ }
+ ],
+ "location": "F2",
+ "state": "passed"
+ },
+ {
+ "created_at": "2016-01-21 16:07:45 +0000",
+ "updated_at": "2016-01-21 16:08:28 +0000",
+ "plate": {
+ "actions": {
+ "read": "http://localhost:3000/ilc-stock-plate-with-metadata-uuid"
+ },
+ "uuid": "ilc-stock-plate-with-metadata-uuid"
+ },
+ "actions": {
+ "read": "http://localhost:3000/well-23-uuid"
+ },
+ "uuid": "well-23-uuid",
+ "aliquots": [
+ {
+ "created_at": "2016-01-21 16:07:48 +0000",
+ "updated_at": "2016-01-21 16:07:48 +0000",
+ "bait_library": null,
+ "insert_size": {},
+ "sample": {
+ "created_at": "2015-12-04 14:25:35 +0000",
+ "updated_at": "2016-01-13 11:43:59 +0000",
+ "actions": {
+ "read": "http://localhost:3000/sample-23-uuid"
+ },
+ "uuid": "sample-23-uuid",
+ "data_release": {
+ "accession_number": null,
+ "description": null,
+ "managed": {
+ "disease": null,
+ "subject": null,
+ "treatment": null
+ },
+ "metagenomics": {
+ "age": null,
+ "cell_type": null,
+ "compound": null,
+ "developmental_stage": null,
+ "disease": null,
+ "disease_state": null,
+ "dose": null,
+ "genotype": null,
+ "growth_condition": null,
+ "immunoprecipitate": null,
+ "organism_part": null,
+ "phenotype": null,
+ "rnai": null,
+ "subject": null,
+ "time_point": null,
+ "treatment": null
+ },
+ "public_name": null,
+ "sample_type": null,
+ "visibility": null
+ },
+ "family": {
+ "father": null,
+ "mother": null,
+ "replicate": null,
+ "sibling": null
+ },
+ "reference": {
+ "genome": "Not suitable for alignment"
+ },
+ "sanger": {
+ "description": null,
+ "name": "sample_23",
+ "resubmitted": false,
+ "sample_id": "sample_23"
+ },
+ "source": {
+ "cohort": null,
+ "control": false,
+ "country": null,
+ "dna_source": "Tissue",
+ "ethnicity": null,
+ "region": null
+ },
+ "supplier": {
+ "collection": {
+ "date": null
+ },
+ "extraction": {
+ "date": null,
+ "method": null
+ },
+ "measurements": {
+ "concentration": "4.6",
+ "concentration_determined_by": null,
+ "gc_content": null,
+ "gender": null,
+ "volume": "120"
+ },
+ "purification": {
+ "method": null,
+ "purified": null
+ },
+ "sample_name": "SP2",
+ "storage_conditions": null
+ },
+ "taxonomy": {
+ "common_name": "Mus musculus",
+ "id": 10090,
+ "organism": null,
+ "strain": null
+ }
+ },
+ "tag": {}
+ }
+ ],
+ "location": "F3",
+ "state": "passed"
+ },
+ {
+ "created_at": "2016-01-21 16:07:45 +0000",
+ "updated_at": "2016-01-21 16:08:28 +0000",
+ "plate": {
+ "actions": {
+ "read": "http://localhost:3000/ilc-stock-plate-with-metadata-uuid"
+ },
+ "uuid": "ilc-stock-plate-with-metadata-uuid"
+ },
+ "actions": {
+ "read": "http://localhost:3000/well-24-uuid"
+ },
+ "uuid": "well-24-uuid",
+ "aliquots": [
+ {
+ "created_at": "2016-01-21 16:07:49 +0000",
+ "updated_at": "2016-01-21 16:07:49 +0000",
+ "bait_library": null,
+ "insert_size": {},
+ "sample": {
+ "created_at": "2015-12-04 14:25:36 +0000",
+ "updated_at": "2016-01-13 11:43:59 +0000",
+ "actions": {
+ "read": "http://localhost:3000/sample-24-uuid"
+ },
+ "uuid": "sample-24-uuid",
+ "data_release": {
+ "accession_number": null,
+ "description": null,
+ "managed": {
+ "disease": null,
+ "subject": null,
+ "treatment": null
+ },
+ "metagenomics": {
+ "age": null,
+ "cell_type": null,
+ "compound": null,
+ "developmental_stage": null,
+ "disease": null,
+ "disease_state": null,
+ "dose": null,
+ "genotype": null,
+ "growth_condition": null,
+ "immunoprecipitate": null,
+ "organism_part": null,
+ "phenotype": null,
+ "rnai": null,
+ "subject": null,
+ "time_point": null,
+ "treatment": null
+ },
+ "public_name": null,
+ "sample_type": null,
+ "visibility": null
+ },
+ "family": {
+ "father": null,
+ "mother": null,
+ "replicate": null,
+ "sibling": null
+ },
+ "reference": {
+ "genome": "Not suitable for alignment"
+ },
+ "sanger": {
+ "description": null,
+ "name": "sample_24",
+ "resubmitted": false,
+ "sample_id": "sample_24"
+ },
+ "source": {
+ "cohort": null,
+ "control": false,
+ "country": null,
+ "dna_source": "Tissue",
+ "ethnicity": null,
+ "region": null
+ },
+ "supplier": {
+ "collection": {
+ "date": null
+ },
+ "extraction": {
+ "date": null,
+ "method": null
+ },
+ "measurements": {
+ "concentration": "110",
+ "concentration_determined_by": null,
+ "gc_content": null,
+ "gender": null,
+ "volume": "120"
+ },
+ "purification": {
+ "method": null,
+ "purified": null
+ },
+ "sample_name": "B3",
+ "storage_conditions": null
+ },
+ "taxonomy": {
+ "common_name": "Mus musculus",
+ "id": 10090,
+ "organism": null,
+ "strain": null
+ }
+ },
+ "tag": {}
+ }
+ ],
+ "location": "F4",
+ "state": "passed"
+ },
+ {
+ "created_at": "2016-01-21 16:07:44 +0000",
+ "updated_at": "2016-01-21 16:08:28 +0000",
+ "plate": {
+ "actions": {
+ "read": "http://localhost:3000/ilc-stock-plate-with-metadata-uuid"
+ },
+ "uuid": "ilc-stock-plate-with-metadata-uuid"
+ },
+ "actions": {
+ "read": "http://localhost:3000/well-25-uuid"
+ },
+ "uuid": "well-25-uuid",
+ "aliquots": [
+ {
+ "created_at": "2016-01-21 16:07:47 +0000",
+ "updated_at": "2016-01-21 16:07:47 +0000",
+ "bait_library": null,
+ "insert_size": {},
+ "sample": {
+ "created_at": "2015-12-04 14:25:35 +0000",
+ "updated_at": "2016-01-13 11:43:58 +0000",
+ "actions": {
+ "read": "http://localhost:3000/sample-25-uuid"
+ },
+ "uuid": "sample-25-uuid",
+ "data_release": {
+ "accession_number": null,
+ "description": null,
+ "managed": {
+ "disease": null,
+ "subject": null,
+ "treatment": null
+ },
+ "metagenomics": {
+ "age": null,
+ "cell_type": null,
+ "compound": null,
+ "developmental_stage": null,
+ "disease": null,
+ "disease_state": null,
+ "dose": null,
+ "genotype": null,
+ "growth_condition": null,
+ "immunoprecipitate": null,
+ "organism_part": null,
+ "phenotype": null,
+ "rnai": null,
+ "subject": null,
+ "time_point": null,
+ "treatment": null
+ },
+ "public_name": null,
+ "sample_type": null,
+ "visibility": null
+ },
+ "family": {
+ "father": null,
+ "mother": null,
+ "replicate": null,
+ "sibling": null
+ },
+ "reference": {
+ "genome": "Not suitable for alignment"
+ },
+ "sanger": {
+ "description": null,
+ "name": "sample_25",
+ "resubmitted": false,
+ "sample_id": "sample_25"
+ },
+ "source": {
+ "cohort": null,
+ "control": false,
+ "country": null,
+ "dna_source": "Tissue",
+ "ethnicity": null,
+ "region": null
+ },
+ "supplier": {
+ "collection": {
+ "date": null
+ },
+ "extraction": {
+ "date": null,
+ "method": null
+ },
+ "measurements": {
+ "concentration": "23",
+ "concentration_determined_by": null,
+ "gc_content": null,
+ "gender": null,
+ "volume": "60"
+ },
+ "purification": {
+ "method": null,
+ "purified": null
+ },
+ "sample_name": "GSP2",
+ "storage_conditions": null
+ },
+ "taxonomy": {
+ "common_name": "Onychomys torridus",
+ "id": 38674,
+ "organism": null,
+ "strain": null
+ }
+ },
+ "tag": {}
+ }
+ ],
+ "location": "G1",
+ "state": "passed"
+ },
+ {
+ "created_at": "2016-01-21 16:07:45 +0000",
+ "updated_at": "2016-01-21 16:08:28 +0000",
+ "plate": {
+ "actions": {
+ "read": "http://localhost:3000/ilc-stock-plate-with-metadata-uuid"
+ },
+ "uuid": "ilc-stock-plate-with-metadata-uuid"
+ },
+ "actions": {
+ "read": "http://localhost:3000/well-26-uuid"
+ },
+ "uuid": "well-26-uuid",
+ "aliquots": [
+ {
+ "created_at": "2016-01-21 16:07:48 +0000",
+ "updated_at": "2016-01-21 16:07:48 +0000",
+ "bait_library": null,
+ "insert_size": {},
+ "sample": {
+ "created_at": "2015-12-04 14:25:35 +0000",
+ "updated_at": "2016-01-13 11:43:58 +0000",
+ "actions": {
+ "read": "http://localhost:3000/sample-26-uuid"
+ },
+ "uuid": "sample-26-uuid",
+ "data_release": {
+ "accession_number": null,
+ "description": null,
+ "managed": {
+ "disease": null,
+ "subject": null,
+ "treatment": null
+ },
+ "metagenomics": {
+ "age": null,
+ "cell_type": null,
+ "compound": null,
+ "developmental_stage": null,
+ "disease": null,
+ "disease_state": null,
+ "dose": null,
+ "genotype": null,
+ "growth_condition": null,
+ "immunoprecipitate": null,
+ "organism_part": null,
+ "phenotype": null,
+ "rnai": null,
+ "subject": null,
+ "time_point": null,
+ "treatment": null
+ },
+ "public_name": null,
+ "sample_type": null,
+ "visibility": null
+ },
+ "family": {
+ "father": null,
+ "mother": null,
+ "replicate": null,
+ "sibling": null
+ },
+ "reference": {
+ "genome": "Not suitable for alignment"
+ },
+ "sanger": {
+ "description": null,
+ "name": "sample_26",
+ "resubmitted": false,
+ "sample_id": "sample_26"
+ },
+ "source": {
+ "cohort": null,
+ "control": false,
+ "country": null,
+ "dna_source": "Tissue",
+ "ethnicity": null,
+ "region": null
+ },
+ "supplier": {
+ "collection": {
+ "date": null
+ },
+ "extraction": {
+ "date": null,
+ "method": null
+ },
+ "measurements": {
+ "concentration": "100",
+ "concentration_determined_by": null,
+ "gc_content": null,
+ "gender": null,
+ "volume": "120"
+ },
+ "purification": {
+ "method": null,
+ "purified": null
+ },
+ "sample_name": "GB3",
+ "storage_conditions": null
+ },
+ "taxonomy": {
+ "common_name": "Onychomys torridus",
+ "id": 38674,
+ "organism": null,
+ "strain": null
+ }
+ },
+ "tag": {}
+ }
+ ],
+ "location": "G2",
+ "state": "passed"
+ },
+ {
+ "created_at": "2016-01-21 16:07:45 +0000",
+ "updated_at": "2016-01-21 16:08:28 +0000",
+ "plate": {
+ "actions": {
+ "read": "http://localhost:3000/ilc-stock-plate-with-metadata-uuid"
+ },
+ "uuid": "ilc-stock-plate-with-metadata-uuid"
+ },
+ "actions": {
+ "read": "http://localhost:3000/well-27-uuid"
+ },
+ "uuid": "well-27-uuid",
+ "aliquots": [
+ {
+ "created_at": "2016-01-21 16:07:48 +0000",
+ "updated_at": "2016-01-21 16:07:48 +0000",
+ "bait_library": null,
+ "insert_size": {},
+ "sample": {
+ "created_at": "2015-12-04 14:25:36 +0000",
+ "updated_at": "2016-01-13 11:43:59 +0000",
+ "actions": {
+ "read": "http://localhost:3000/sample-27-uuid"
+ },
+ "uuid": "sample-27-uuid",
+ "data_release": {
+ "accession_number": null,
+ "description": null,
+ "managed": {
+ "disease": null,
+ "subject": null,
+ "treatment": null
+ },
+ "metagenomics": {
+ "age": null,
+ "cell_type": null,
+ "compound": null,
+ "developmental_stage": null,
+ "disease": null,
+ "disease_state": null,
+ "dose": null,
+ "genotype": null,
+ "growth_condition": null,
+ "immunoprecipitate": null,
+ "organism_part": null,
+ "phenotype": null,
+ "rnai": null,
+ "subject": null,
+ "time_point": null,
+ "treatment": null
+ },
+ "public_name": null,
+ "sample_type": null,
+ "visibility": null
+ },
+ "family": {
+ "father": null,
+ "mother": null,
+ "replicate": null,
+ "sibling": null
+ },
+ "reference": {
+ "genome": "Not suitable for alignment"
+ },
+ "sanger": {
+ "description": null,
+ "name": "sample_27",
+ "resubmitted": false,
+ "sample_id": "sample_27"
+ },
+ "source": {
+ "cohort": null,
+ "control": false,
+ "country": null,
+ "dna_source": "Tissue",
+ "ethnicity": null,
+ "region": null
+ },
+ "supplier": {
+ "collection": {
+ "date": null
+ },
+ "extraction": {
+ "date": null,
+ "method": null
+ },
+ "measurements": {
+ "concentration": "5.7",
+ "concentration_determined_by": null,
+ "gc_content": null,
+ "gender": null,
+ "volume": "120"
+ },
+ "purification": {
+ "method": null,
+ "purified": null
+ },
+ "sample_name": "DA2",
+ "storage_conditions": null
+ },
+ "taxonomy": {
+ "common_name": "Mus musculus",
+ "id": 10090,
+ "organism": null,
+ "strain": null
+ }
+ },
+ "tag": {}
+ }
+ ],
+ "location": "G3",
+ "state": "passed"
+ },
+ {
+ "created_at": "2016-01-21 16:07:44 +0000",
+ "updated_at": "2016-01-21 16:08:28 +0000",
+ "plate": {
+ "actions": {
+ "read": "http://localhost:3000/ilc-stock-plate-with-metadata-uuid"
+ },
+ "uuid": "ilc-stock-plate-with-metadata-uuid"
+ },
+ "actions": {
+ "read": "http://localhost:3000/well-28-uuid"
+ },
+ "uuid": "well-28-uuid",
+ "aliquots": [
+ {
+ "created_at": "2016-01-21 16:07:47 +0000",
+ "updated_at": "2016-01-21 16:07:47 +0000",
+ "bait_library": null,
+ "insert_size": {},
+ "sample": {
+ "created_at": "2015-12-04 14:25:35 +0000",
+ "updated_at": "2016-01-13 11:43:58 +0000",
+ "actions": {
+ "read": "http://localhost:3000/sample-28-uuid"
+ },
+ "uuid": "sample-28-uuid",
+ "data_release": {
+ "accession_number": null,
+ "description": null,
+ "managed": {
+ "disease": null,
+ "subject": null,
+ "treatment": null
+ },
+ "metagenomics": {
+ "age": null,
+ "cell_type": null,
+ "compound": null,
+ "developmental_stage": null,
+ "disease": null,
+ "disease_state": null,
+ "dose": null,
+ "genotype": null,
+ "growth_condition": null,
+ "immunoprecipitate": null,
+ "organism_part": null,
+ "phenotype": null,
+ "rnai": null,
+ "subject": null,
+ "time_point": null,
+ "treatment": null
+ },
+ "public_name": null,
+ "sample_type": null,
+ "visibility": null
+ },
+ "family": {
+ "father": null,
+ "mother": null,
+ "replicate": null,
+ "sibling": null
+ },
+ "reference": {
+ "genome": "Not suitable for alignment"
+ },
+ "sanger": {
+ "description": null,
+ "name": "sample_28",
+ "resubmitted": false,
+ "sample_id": "sample_28"
+ },
+ "source": {
+ "cohort": null,
+ "control": false,
+ "country": null,
+ "dna_source": "Tissue",
+ "ethnicity": null,
+ "region": null
+ },
+ "supplier": {
+ "collection": {
+ "date": null
+ },
+ "extraction": {
+ "date": null,
+ "method": null
+ },
+ "measurements": {
+ "concentration": "11.8",
+ "concentration_determined_by": null,
+ "gc_content": null,
+ "gender": null,
+ "volume": "60"
+ },
+ "purification": {
+ "method": null,
+ "purified": null
+ },
+ "sample_name": "GDA2",
+ "storage_conditions": null
+ },
+ "taxonomy": {
+ "common_name": "Onychomys torridus",
+ "id": 38674,
+ "organism": null,
+ "strain": null
+ }
+ },
+ "tag": {}
+ }
+ ],
+ "location": "H1",
+ "state": "passed"
+ },
+ {
+ "created_at": "2016-01-21 16:07:45 +0000",
+ "updated_at": "2016-01-21 16:08:28 +0000",
+ "plate": {
+ "actions": {
+ "read": "http://localhost:3000/ilc-stock-plate-with-metadata-uuid"
+ },
+ "uuid": "ilc-stock-plate-with-metadata-uuid"
+ },
+ "actions": {
+ "read": "http://localhost:3000/well-29-uuid"
+ },
+ "uuid": "well-29-uuid",
+ "aliquots": [
+ {
+ "created_at": "2016-01-21 16:07:48 +0000",
+ "updated_at": "2016-01-21 16:07:48 +0000",
+ "bait_library": null,
+ "insert_size": {},
+ "sample": {
+ "created_at": "2015-12-04 14:25:35 +0000",
+ "updated_at": "2016-01-13 11:43:58 +0000",
+ "actions": {
+ "read": "http://localhost:3000/sample-29-uuid"
+ },
+ "uuid": "sample-29-uuid",
+ "data_release": {
+ "accession_number": null,
+ "description": null,
+ "managed": {
+ "disease": null,
+ "subject": null,
+ "treatment": null
+ },
+ "metagenomics": {
+ "age": null,
+ "cell_type": null,
+ "compound": null,
+ "developmental_stage": null,
+ "disease": null,
+ "disease_state": null,
+ "dose": null,
+ "genotype": null,
+ "growth_condition": null,
+ "immunoprecipitate": null,
+ "organism_part": null,
+ "phenotype": null,
+ "rnai": null,
+ "subject": null,
+ "time_point": null,
+ "treatment": null
+ },
+ "public_name": null,
+ "sample_type": null,
+ "visibility": null
+ },
+ "family": {
+ "father": null,
+ "mother": null,
+ "replicate": null,
+ "sibling": null
+ },
+ "reference": {
+ "genome": "Not suitable for alignment"
+ },
+ "sanger": {
+ "description": null,
+ "name": "sample_29",
+ "resubmitted": false,
+ "sample_id": "sample_29"
+ },
+ "source": {
+ "cohort": null,
+ "control": false,
+ "country": null,
+ "dna_source": "Tissue",
+ "ethnicity": null,
+ "region": null
+ },
+ "supplier": {
+ "collection": {
+ "date": null
+ },
+ "extraction": {
+ "date": null,
+ "method": null
+ },
+ "measurements": {
+ "concentration": "46.3",
+ "concentration_determined_by": null,
+ "gc_content": null,
+ "gender": null,
+ "volume": "60"
+ },
+ "purification": {
+ "method": null,
+ "purified": null
+ },
+ "sample_name": "SA1",
+ "storage_conditions": null
+ },
+ "taxonomy": {
+ "common_name": "Mus musculus",
+ "id": 10090,
+ "organism": null,
+ "strain": null
+ }
+ },
+ "tag": {}
+ }
+ ],
+ "location": "H2",
+ "state": "passed"
+ },
+ {
+ "created_at": "2016-01-21 16:07:45 +0000",
+ "updated_at": "2016-01-21 16:08:28 +0000",
+ "plate": {
+ "actions": {
+ "read": "http://localhost:3000/ilc-stock-plate-with-metadata-uuid"
+ },
+ "uuid": "ilc-stock-plate-with-metadata-uuid"
+ },
+ "actions": {
+ "read": "http://localhost:3000/well-30-uuid"
+ },
+ "uuid": "well-30-uuid",
+ "aliquots": [
+ {
+ "created_at": "2016-01-21 16:07:49 +0000",
+ "updated_at": "2016-01-21 16:07:49 +0000",
+ "bait_library": null,
+ "insert_size": {},
+ "sample": {
+ "created_at": "2015-12-04 14:25:36 +0000",
+ "updated_at": "2016-01-13 11:43:59 +0000",
+ "actions": {
+ "read": "http://localhost:3000/sample-30-uuid"
+ },
+ "uuid": "sample-30-uuid",
+ "data_release": {
+ "accession_number": null,
+ "description": null,
+ "managed": {
+ "disease": null,
+ "subject": null,
+ "treatment": null
+ },
+ "metagenomics": {
+ "age": null,
+ "cell_type": null,
+ "compound": null,
+ "developmental_stage": null,
+ "disease": null,
+ "disease_state": null,
+ "dose": null,
+ "genotype": null,
+ "growth_condition": null,
+ "immunoprecipitate": null,
+ "organism_part": null,
+ "phenotype": null,
+ "rnai": null,
+ "subject": null,
+ "time_point": null,
+ "treatment": null
+ },
+ "public_name": null,
+ "sample_type": null,
+ "visibility": null
+ },
+ "family": {
+ "father": null,
+ "mother": null,
+ "replicate": null,
+ "sibling": null
+ },
+ "reference": {
+ "genome": "Not suitable for alignment"
+ },
+ "sanger": {
+ "description": null,
+ "name": "sample_30",
+ "resubmitted": false,
+ "sample_id": "sample_30"
+ },
+ "source": {
+ "cohort": null,
+ "control": false,
+ "country": null,
+ "dna_source": "Tissue",
+ "ethnicity": null,
+ "region": null
+ },
+ "supplier": {
+ "collection": {
+ "date": null
+ },
+ "extraction": {
+ "date": null,
+ "method": null
+ },
+ "measurements": {
+ "concentration": "15.8",
+ "concentration_determined_by": null,
+ "gc_content": null,
+ "gender": null,
+ "volume": "120"
+ },
+ "purification": {
+ "method": null,
+ "purified": null
+ },
+ "sample_name": "DP2",
+ "storage_conditions": null
+ },
+ "taxonomy": {
+ "common_name": "Mus musculus",
+ "id": 10090,
+ "organism": null,
+ "strain": null
+ }
+ },
+ "tag": {}
+ }
+ ],
+ "location": "H3",
+ "state": "passed"
+ }
+ ]
+}
diff --git a/spec/contracts/ilc-stock-plate-with-metadata.txt b/spec/contracts/ilc-stock-plate-with-metadata.txt
new file mode 100644
index 0000000..552567f
--- /dev/null
+++ b/spec/contracts/ilc-stock-plate-with-metadata.txt
@@ -0,0 +1,161 @@
+HTTP/1.1 200 OK
+Content-Type: application/json
+
+{
+ "plate": {
+ "created_at": "2016-01-21 16:08:28 +0000",
+ "updated_at": "2016-01-21 16:16:42 +0000",
+ "comments": {
+ "size": 3,
+ "actions": {
+ "read": "http://localhost:3000/ilc-stock-plate-with-metadata-uuid/comments"
+ }
+ },
+ "wells": {
+ "size": 30,
+ "actions": {
+ "read": "http://localhost:3000/ilc-stock-plate-with-metadata-uuid/wells"
+ }
+ },
+ "submission_pools": {
+ "size": 2,
+ "actions": {
+ "read": "http://localhost:3000/ilc-stock-plate-with-metadata-uuid/submission_pools"
+ }
+ },
+ "requests": {
+ "size": 0,
+ "actions": {
+ "read": "http://localhost:3000/ilc-stock-plate-with-metadata-uuid/requests"
+ }
+ },
+ "qc_files": {
+ "size": 0,
+ "actions": {
+ "read": "http://localhost:3000/ilc-stock-plate-with-metadata-uuid/qc_files"
+ }
+ },
+ "source_transfers": {
+ "size": 0,
+ "actions": {
+ "read": "http://localhost:3000/ilc-stock-plate-with-metadata-uuid/source_transfers"
+ }
+ },
+ "transfers_to_tubes": {
+ "size": 0,
+ "actions": {
+ "read": "http://localhost:3000/ilc-stock-plate-with-metadata-uuid/transfers_to_tubes"
+ }
+ },
+ "creation_transfers": {
+ "size": 0,
+ "actions": {
+ "read": "http://localhost:3000/ilc-stock-plate-with-metadata-uuid/creation_transfers"
+ }
+ },
+ "plate_purpose": {
+ "actions": {
+ "read": "http://localhost:3000/ilc-stock-plate-purpose-uuid"
+ },
+ "uuid": "ilc-stock-plate-purpose-uuid",
+ "lifespan": null,
+ "name": "ILC Stock"
+ },
+ "custom_metadatum_collection": {
+ "actions": {
+ "read": "http://localhost:3000/custom-metadatum-collection-2-uuid",
+ "update": "http://localhost:3000/custom-metadatum-collection-2-uuid"
+ },
+ "uuid": "custom-metadatum-collection-2-uuid"
+ },
+ "actions": {
+ "read": "http://localhost:3000/ilc-stock-plate-with-metadata-uuid"
+ },
+ "uuid": "ilc-stock-plate-with-metadata-uuid",
+ "name": "Cherrypicked 427444",
+ "qc_state": null,
+ "barcode": {
+ "ean13": "1220427444877",
+ "number": "427444",
+ "prefix": "DN",
+ "two_dimensional": null,
+ "type": 1
+ },
+ "iteration": 1,
+ "label": {
+ "prefix": "RNA-seq dUTP eukaryotic PCR",
+ "text": "ILC Stock"
+ },
+ "location": "Library creation freezer",
+ "pools": {
+ "pool-1-uuid": {
+ "wells": [
+ "A1",
+ "A2",
+ "B1",
+ "B2",
+ "C1",
+ "C2",
+ "D1",
+ "D2",
+ "E1",
+ "E2",
+ "F1",
+ "F2",
+ "G1",
+ "G2",
+ "H1"
+ ],
+ "insert_size": {
+ "from": 100,
+ "to": 300
+ },
+ "library_type": {
+ "name": "RNA-seq dUTP eukaryotic"
+ },
+ "request_type": "Illumina-C Library Creation PCR"
+ },
+ "pool-2-uuid": {
+ "wells": [
+ "A3",
+ "A4",
+ "B3",
+ "B4",
+ "C3",
+ "C4",
+ "D3",
+ "D4",
+ "E3",
+ "E4",
+ "F3",
+ "F4",
+ "G3",
+ "H2",
+ "H3"
+ ],
+ "insert_size": {
+ "from": 100,
+ "to": 300
+ },
+ "library_type": {
+ "name": "RNA-seq dUTP eukaryotic"
+ },
+ "request_type": "Illumina-C Library Creation PCR"
+ }
+ },
+ "pre_cap_groups": {},
+ "priority": 0,
+ "size": 96,
+ "state": "passed",
+ "stock_plate": {
+ "barcode": {
+ "ean13": "1111111111111",
+ "number": "427444",
+ "prefix": "DN",
+ "two_dimensional": null,
+ "type": 1
+ },
+ "uuid": "ilc-stock-plate-with-metadata-uuid"
+ }
+ }
+}
diff --git a/spec/contracts/ilc-stock-plate.txt b/spec/contracts/ilc-stock-plate.txt
new file mode 100644
index 0000000..5b0bd9c
--- /dev/null
+++ b/spec/contracts/ilc-stock-plate.txt
@@ -0,0 +1,154 @@
+HTTP/1.1 200 OK
+Content-Type: application/json
+
+{
+ "plate": {
+ "created_at": "2016-01-21 16:08:28 +0000",
+ "updated_at": "2016-01-21 16:16:42 +0000",
+ "comments": {
+ "size": 3,
+ "actions": {
+ "read": "http://localhost:3000/ilc-stock-plate-uuid/comments"
+ }
+ },
+ "wells": {
+ "size": 30,
+ "actions": {
+ "read": "http://localhost:3000/ilc-stock-plate-uuid/wells"
+ }
+ },
+ "submission_pools": {
+ "size": 2,
+ "actions": {
+ "read": "http://localhost:3000/ilc-stock-plate-uuid/submission_pools"
+ }
+ },
+ "requests": {
+ "size": 0,
+ "actions": {
+ "read": "http://localhost:3000/ilc-stock-plate-uuid/requests"
+ }
+ },
+ "qc_files": {
+ "size": 0,
+ "actions": {
+ "read": "http://localhost:3000/ilc-stock-plate-uuid/qc_files"
+ }
+ },
+ "source_transfers": {
+ "size": 0,
+ "actions": {
+ "read": "http://localhost:3000/ilc-stock-plate-uuid/source_transfers"
+ }
+ },
+ "transfers_to_tubes": {
+ "size": 0,
+ "actions": {
+ "read": "http://localhost:3000/ilc-stock-plate-uuid/transfers_to_tubes"
+ }
+ },
+ "creation_transfers": {
+ "size": 0,
+ "actions": {
+ "read": "http://localhost:3000/ilc-stock-plate-uuid/creation_transfers"
+ }
+ },
+ "plate_purpose": {
+ "actions": {
+ "read": "http://localhost:3000/ilc-stock-plate-purpose-uuid"
+ },
+ "uuid": "ilc-stock-plate-purpose-uuid",
+ "lifespan": null,
+ "name": "ILC Stock"
+ },
+ "actions": {
+ "read": "http://localhost:3000/ilc-stock-plate-uuid"
+ },
+ "uuid": "ilc-stock-plate-uuid",
+ "name": "Cherrypicked 427444",
+ "qc_state": null,
+ "barcode": {
+ "ean13": "1220427444877",
+ "number": "427444",
+ "prefix": "DN",
+ "two_dimensional": null,
+ "type": 1
+ },
+ "iteration": 1,
+ "label": {
+ "prefix": "RNA-seq dUTP eukaryotic PCR",
+ "text": "ILC Stock"
+ },
+ "location": "Library creation freezer",
+ "pools": {
+ "pool-1-uuid": {
+ "wells": [
+ "A1",
+ "A2",
+ "B1",
+ "B2",
+ "C1",
+ "C2",
+ "D1",
+ "D2",
+ "E1",
+ "E2",
+ "F1",
+ "F2",
+ "G1",
+ "G2",
+ "H1"
+ ],
+ "insert_size": {
+ "from": 100,
+ "to": 300
+ },
+ "library_type": {
+ "name": "RNA-seq dUTP eukaryotic"
+ },
+ "request_type": "Illumina-C Library Creation PCR"
+ },
+ "pool-2-uuid": {
+ "wells": [
+ "A3",
+ "A4",
+ "B3",
+ "B4",
+ "C3",
+ "C4",
+ "D3",
+ "D4",
+ "E3",
+ "E4",
+ "F3",
+ "F4",
+ "G3",
+ "H2",
+ "H3"
+ ],
+ "insert_size": {
+ "from": 100,
+ "to": 300
+ },
+ "library_type": {
+ "name": "RNA-seq dUTP eukaryotic"
+ },
+ "request_type": "Illumina-C Library Creation PCR"
+ }
+ },
+ "pre_cap_groups": {},
+ "priority": 0,
+ "size": 96,
+ "state": "passed",
+ "stock_plate": {
+ "barcode": {
+ "ean13": "1111111111111",
+ "number": "427444",
+ "prefix": "DN",
+ "two_dimensional": null,
+ "type": 1
+ },
+ "uuid": "ilc-stock-plate-uuid"
+ }
+ }
+}
diff --git a/spec/contracts/lot-type-uuid.txt b/spec/contracts/lot-type-uuid.txt
new file mode 100644
index 0000000..26b63fd
--- /dev/null
+++ b/spec/contracts/lot-type-uuid.txt
@@ -0,0 +1,23 @@
+HTTP/1.1 200 OK
+Content-Type: application/json
+
+{
+ "lot_type": {
+ "created_at": "2015-07-23 14:07:07 +0100",
+ "updated_at": "2015-07-23 14:07:07 +0100",
+ "lots": {
+ "size": 6,
+ "actions": {
+ "read": "http://localhost:3000/lot-type-uuid/lots"
+ }
+ },
+ "actions": {
+ "read": "http://localhost:3000/lot-type-uuid"
+ },
+ "uuid": "lot-type-uuid",
+ "name": "Tag 2 Tubes",
+ "printer_type": "1D Tube",
+ "qcable_name": "Tag 2 Tube",
+ "template_class": "Tag2LayoutTemplate"
+ }
+}
diff --git a/spec/contracts/multiplexed-library-tube-2-uuid.txt b/spec/contracts/multiplexed-library-tube-2-uuid.txt
new file mode 100644
index 0000000..7b0e246
--- /dev/null
+++ b/spec/contracts/multiplexed-library-tube-2-uuid.txt
@@ -0,0 +1,19 @@
+HTTP/1.1 200 OK
+Content-Type: application/json
+
+{
+ "multiplexed_library_tube": {
+
+ "purpose": {
+ "uuid": "ilc-lib-pool-norm-uuid"
+ },
+ "barcode": {
+ "prefix": "NT",
+ "number": "2",
+ "ean13": "tube-2-ean13",
+ "type": 1
+ },
+
+ "uuid": "multiplexed-library-tube-2-uuid"
+ }
+ }
\ No newline at end of file
diff --git a/spec/contracts/multiplexed-library-tube-uuid.txt b/spec/contracts/multiplexed-library-tube-uuid.txt
new file mode 100644
index 0000000..171d809
--- /dev/null
+++ b/spec/contracts/multiplexed-library-tube-uuid.txt
@@ -0,0 +1,19 @@
+HTTP/1.1 200 OK
+Content-Type: application/json
+
+{
+ "multiplexed_library_tube": {
+
+ "purpose": {
+ "uuid": "ilc-lib-pool-norm-uuid"
+ },
+ "barcode": {
+ "prefix": "NT",
+ "number": "1",
+ "ean13": "tube-1-ean13",
+ "type": 1
+ },
+
+ "uuid": "multiplexed-library-tube-uuid"
+ }
+ }
\ No newline at end of file
diff --git a/spec/contracts/plate-creation-ilc-al-libs-tagged.txt b/spec/contracts/plate-creation-ilc-al-libs-tagged.txt
new file mode 100644
index 0000000..35af646
--- /dev/null
+++ b/spec/contracts/plate-creation-ilc-al-libs-tagged.txt
@@ -0,0 +1,30 @@
+HTTP/1.1 201 OK
+Content-Type: application/json
+
+{
+ "plate_creation": {
+ "actions": {
+ "read": "http://localhost:3000/plate-creation-ilc-al-libs-tagged-uuid"
+ },
+ "parent": {
+ "actions": {
+ "read": "http://localhost:3000/ilc-stock-plate-uuid"
+ },
+ "uuid":"ilc-stock-plate-uuid"
+ },
+ "child": {
+ "actions": {
+ "read": "http://localhost:3000/ilc-al-libs-tagged-plate-uuid"
+ },
+ "uuid":"ilc-al-libs-tagged-plate-uuid"
+ },
+ "child_purpose": {
+ "actions": {
+ "read": "http://localhost:3000/ilc-al-libs-tagged-uuid"
+ },
+ "uuid":"ilc-al-libs-tagged-uuid"
+ },
+
+ "uuid": "plate-creation-ilc-al-libs-tagged-uuid"
+ }
+}
diff --git a/spec/contracts/post-to-find-qcable-by-barcode-uuid.txt b/spec/contracts/post-to-find-qcable-by-barcode-uuid.txt
new file mode 100644
index 0000000..0621ec0
--- /dev/null
+++ b/spec/contracts/post-to-find-qcable-by-barcode-uuid.txt
@@ -0,0 +1,33 @@
+HTTP/1.0 301 Moved permanently
+Content-Type: application/json
+Location: http://localhost:3000/tag2-qcable-uuid
+
+{
+ "qcable": {
+ "created_at": "2015-08-17 15:40:36 +0100",
+ "updated_at": "2015-08-17 15:53:16 +0100",
+ "asset": {
+ "actions": {
+ "read": "http://localhost:3000/tag2-tube-uuid"
+ },
+ "uuid": "tag2-tube-uuid"
+ },
+ "lot": {
+ "actions": {
+ "read": "http://localhost:3000/tag2-lot-uuid"
+ },
+ "uuid": "tag2-lot-uuid"
+ },
+ "actions": {
+ "read": "http://localhost:3000/tag2-qcable-uuid"
+ },
+ "uuid": "tag2-qcable-uuid",
+ "barcode": {
+ "ean13": "3980681751743",
+ "number": "681751",
+ "prefix": "NT"
+ },
+ "stamp_index": null,
+ "state": "available"
+ }
+}
diff --git a/spec/contracts/retrieve-api-root.txt b/spec/contracts/retrieve-api-root.txt
new file mode 100644
index 0000000..64d21d7
--- /dev/null
+++ b/spec/contracts/retrieve-api-root.txt
@@ -0,0 +1,5 @@
+GET / HTTP/1.1
+Accept: application/json
+Cookie: WTSISignOn=
+X-Sequencescape-Client-Id: testing
+
diff --git a/spec/contracts/retrieve-barcode-printers.txt b/spec/contracts/retrieve-barcode-printers.txt
new file mode 100644
index 0000000..eff9619
--- /dev/null
+++ b/spec/contracts/retrieve-barcode-printers.txt
@@ -0,0 +1,4 @@
+GET /barcode_printers HTTP/1.1
+Accept: application/json
+Cookie: WTSISignOn=
+X-Sequencescape-Client-Id: testing
\ No newline at end of file
diff --git a/spec/contracts/retrieve-create-custom-metadatum-collection.txt b/spec/contracts/retrieve-create-custom-metadatum-collection.txt
new file mode 100644
index 0000000..99fc355
--- /dev/null
+++ b/spec/contracts/retrieve-create-custom-metadatum-collection.txt
@@ -0,0 +1,7 @@
+POST /custom_metadatum_collections HTTP/1.1
+Accept: application/json
+Content-Type: application/json
+Cookie: WTSISignOn=
+X-Sequencescape-Client-Id: testing
+
+{"custom_metadatum_collection":{"metadata":{"Key1":"Value1", "Key2":"Value2", "Key3":"Value3"},"user":"user-uuid","asset":"ilc-stock-plate-uuid"}}
\ No newline at end of file
diff --git a/spec/contracts/retrieve-custom-metadatum-collection-2.txt b/spec/contracts/retrieve-custom-metadatum-collection-2.txt
new file mode 100644
index 0000000..b3e432f
--- /dev/null
+++ b/spec/contracts/retrieve-custom-metadatum-collection-2.txt
@@ -0,0 +1,4 @@
+GET /custom-metadatum-collection-2-uuid HTTP/1.1
+Accept: application/json
+Cookie: WTSISignOn=
+X-Sequencescape-Client-Id: testing
\ No newline at end of file
diff --git a/spec/contracts/retrieve-custom-metadatum-collection-3.txt b/spec/contracts/retrieve-custom-metadatum-collection-3.txt
new file mode 100644
index 0000000..3e9a9b0
--- /dev/null
+++ b/spec/contracts/retrieve-custom-metadatum-collection-3.txt
@@ -0,0 +1,4 @@
+GET /custom-metadatum-collection-3-uuid HTTP/1.1
+Accept: application/json
+Cookie: WTSISignOn=
+X-Sequencescape-Client-Id: testing
\ No newline at end of file
diff --git a/spec/contracts/retrieve-custom-metadatum-collection.txt b/spec/contracts/retrieve-custom-metadatum-collection.txt
new file mode 100644
index 0000000..661d5d7
--- /dev/null
+++ b/spec/contracts/retrieve-custom-metadatum-collection.txt
@@ -0,0 +1,4 @@
+GET /custom-metadatum-collection-uuid HTTP/1.1
+Accept: application/json
+Cookie: WTSISignOn=
+X-Sequencescape-Client-Id: testing
\ No newline at end of file
diff --git a/spec/contracts/retrieve-custom-plate-transfer-template.txt b/spec/contracts/retrieve-custom-plate-transfer-template.txt
new file mode 100644
index 0000000..91efd9b
--- /dev/null
+++ b/spec/contracts/retrieve-custom-plate-transfer-template.txt
@@ -0,0 +1,5 @@
+GET /custom-plate-transfer-template-uuid HTTP/1.1
+Accept: application/json
+Cookie: WTSISignOn=
+X-Sequencescape-Client-Id: testing
+
diff --git a/spec/contracts/retrieve-custom-plate-transfer-to-ilc-al-libs-tagged.txt b/spec/contracts/retrieve-custom-plate-transfer-to-ilc-al-libs-tagged.txt
new file mode 100644
index 0000000..e80657a
--- /dev/null
+++ b/spec/contracts/retrieve-custom-plate-transfer-to-ilc-al-libs-tagged.txt
@@ -0,0 +1,45 @@
+POST /custom-plate-transfer-template-uuid HTTP/1.1
+Accept: application/json
+Content-Type: application/json
+Cookie: WTSISignOn=
+X-Sequencescape-Client-Id: testing
+
+{
+ "transfer": {
+ "transfers": {
+ "A1": "A1",
+ "A2": "A2",
+ "A3": "A3",
+ "A4": "A4",
+ "B1": "B1",
+ "B2": "B2",
+ "B3": "B3",
+ "B4": "B4",
+ "C1": "C1",
+ "C2": "C2",
+ "C3": "C3",
+ "C4": "C4",
+ "D1": "D1",
+ "D2": "D2",
+ "D3": "D3",
+ "D4": "D4",
+ "E1": "E1",
+ "E2": "E2",
+ "E3": "E3",
+ "E4": "E4",
+ "F1": "F1",
+ "F2": "F2",
+ "F3": "F3",
+ "F4": "F4",
+ "G1": "G1",
+ "G2": "G2",
+ "G3": "G3",
+ "H1": "H1",
+ "H2": "H2",
+ "H3": "H3"
+ },
+ "source": "ilc-stock-plate-uuid",
+ "destination": "ilc-al-libs-tagged-plate-uuid",
+ "user": "user-uuid"
+ }
+}
diff --git a/spec/contracts/retrieve-final-plate-comments.txt b/spec/contracts/retrieve-final-plate-comments.txt
new file mode 100644
index 0000000..7347be1
--- /dev/null
+++ b/spec/contracts/retrieve-final-plate-comments.txt
@@ -0,0 +1,4 @@
+GET /final-plate-uuid/comments HTTP/1.1
+Accept: application/json
+Cookie: WTSISignOn=
+X-Sequencescape-Client-Id: testing
\ No newline at end of file
diff --git a/spec/contracts/retrieve-final-plate-qc-files.txt b/spec/contracts/retrieve-final-plate-qc-files.txt
new file mode 100644
index 0000000..e726bfb
--- /dev/null
+++ b/spec/contracts/retrieve-final-plate-qc-files.txt
@@ -0,0 +1,4 @@
+GET /final-plate-uuid/qc_files HTTP/1.1
+Accept: application/json
+Cookie: WTSISignOn=
+X-Sequencescape-Client-Id: testing
\ No newline at end of file
diff --git a/spec/contracts/retrieve-final-plate-transfers-to-tubes-all-passed.txt b/spec/contracts/retrieve-final-plate-transfers-to-tubes-all-passed.txt
new file mode 100644
index 0000000..ecd0494
--- /dev/null
+++ b/spec/contracts/retrieve-final-plate-transfers-to-tubes-all-passed.txt
@@ -0,0 +1,4 @@
+GET /final-plate-uuid/transfers_to_tubes HTTP/1.1
+Accept: application/json
+Cookie: WTSISignOn=
+X-Sequencescape-Client-Id: testing
\ No newline at end of file
diff --git a/spec/contracts/retrieve-final-plate-transfers-to-tubes-all-pending-or-started.txt b/spec/contracts/retrieve-final-plate-transfers-to-tubes-all-pending-or-started.txt
new file mode 100644
index 0000000..ecd0494
--- /dev/null
+++ b/spec/contracts/retrieve-final-plate-transfers-to-tubes-all-pending-or-started.txt
@@ -0,0 +1,4 @@
+GET /final-plate-uuid/transfers_to_tubes HTTP/1.1
+Accept: application/json
+Cookie: WTSISignOn=
+X-Sequencescape-Client-Id: testing
\ No newline at end of file
diff --git a/spec/contracts/retrieve-final-plate-uuid.txt b/spec/contracts/retrieve-final-plate-uuid.txt
new file mode 100644
index 0000000..329ebf2
--- /dev/null
+++ b/spec/contracts/retrieve-final-plate-uuid.txt
@@ -0,0 +1,4 @@
+GET /final-plate-uuid HTTP/1.1
+Accept: application/json
+Cookie: WTSISignOn=
+X-Sequencescape-Client-Id: testing
\ No newline at end of file
diff --git a/spec/contracts/retrieve-final-plate-wells.txt b/spec/contracts/retrieve-final-plate-wells.txt
new file mode 100644
index 0000000..ec4f260
--- /dev/null
+++ b/spec/contracts/retrieve-final-plate-wells.txt
@@ -0,0 +1,4 @@
+GET /final-plate-uuid/wells HTTP/1.1
+Accept: application/json
+Cookie: WTSISignOn=
+X-Sequencescape-Client-Id: testing
\ No newline at end of file
diff --git a/spec/contracts/retrieve-find-assets-by-barcode-first-ilc-stock-plate-with-metadata.txt b/spec/contracts/retrieve-find-assets-by-barcode-first-ilc-stock-plate-with-metadata.txt
new file mode 100644
index 0000000..26fa198
--- /dev/null
+++ b/spec/contracts/retrieve-find-assets-by-barcode-first-ilc-stock-plate-with-metadata.txt
@@ -0,0 +1,6 @@
+POST /find-assets-by-barcode-uuid/first HTTP/1.1
+Accept: application/json
+Cookie: WTSISignOn=
+X-Sequencescape-Client-Id: testing
+
+{"search":{"barcode":"1111111111111"}}
\ No newline at end of file
diff --git a/spec/contracts/retrieve-find-assets-by-barcode-first-ilc-stock-plate.txt b/spec/contracts/retrieve-find-assets-by-barcode-first-ilc-stock-plate.txt
new file mode 100644
index 0000000..26fa198
--- /dev/null
+++ b/spec/contracts/retrieve-find-assets-by-barcode-first-ilc-stock-plate.txt
@@ -0,0 +1,6 @@
+POST /find-assets-by-barcode-uuid/first HTTP/1.1
+Accept: application/json
+Cookie: WTSISignOn=
+X-Sequencescape-Client-Id: testing
+
+{"search":{"barcode":"1111111111111"}}
\ No newline at end of file
diff --git a/spec/contracts/retrieve-find-assets-by-barcode-first.txt b/spec/contracts/retrieve-find-assets-by-barcode-first.txt
new file mode 100644
index 0000000..475514d
--- /dev/null
+++ b/spec/contracts/retrieve-find-assets-by-barcode-first.txt
@@ -0,0 +1,6 @@
+POST /find-assets-by-barcode-uuid/first HTTP/1.1
+Accept: application/json
+Cookie: WTSISignOn=
+X-Sequencescape-Client-Id: testing
+
+{"search":{"barcode":"0123456789012"}}
\ No newline at end of file
diff --git a/spec/contracts/retrieve-find-assets-by-barcode-uuid.txt b/spec/contracts/retrieve-find-assets-by-barcode-uuid.txt
new file mode 100644
index 0000000..69dde6f
--- /dev/null
+++ b/spec/contracts/retrieve-find-assets-by-barcode-uuid.txt
@@ -0,0 +1,4 @@
+GET /find-assets-by-barcode-uuid HTTP/1.1
+Accept: application/json
+Cookie: WTSISignOn=
+X-Sequencescape-Client-Id: testing
\ No newline at end of file
diff --git a/spec/contracts/retrieve-find-qcable-by-barcode-uuid.txt b/spec/contracts/retrieve-find-qcable-by-barcode-uuid.txt
new file mode 100644
index 0000000..f384a34
--- /dev/null
+++ b/spec/contracts/retrieve-find-qcable-by-barcode-uuid.txt
@@ -0,0 +1,4 @@
+GET /find-qcable-by-barcode-uuid HTTP/1.1
+Accept: application/json
+Cookie: WTSISignOn=
+X-Sequencescape-Client-Id: testing
diff --git a/spec/contracts/retrieve-find-user-by-swipecard-first.txt b/spec/contracts/retrieve-find-user-by-swipecard-first.txt
new file mode 100644
index 0000000..6c905e9
--- /dev/null
+++ b/spec/contracts/retrieve-find-user-by-swipecard-first.txt
@@ -0,0 +1,6 @@
+POST /find-user-by-swipecard-uuid/first HTTP/1.1
+Accept: application/json
+Cookie: WTSISignOn=
+X-Sequencescape-Client-Id: testing
+
+{"search":{"swipecard_code":"abcdef"}}
\ No newline at end of file
diff --git a/spec/contracts/retrieve-find-user-by-swipecard-uuid.txt b/spec/contracts/retrieve-find-user-by-swipecard-uuid.txt
new file mode 100644
index 0000000..4a243e0
--- /dev/null
+++ b/spec/contracts/retrieve-find-user-by-swipecard-uuid.txt
@@ -0,0 +1,4 @@
+GET /find-user-by-swipecard-uuid HTTP/1.1
+Accept: application/json
+Cookie: WTSISignOn=
+X-Sequencescape-Client-Id: testing
\ No newline at end of file
diff --git a/spec/contracts/retrieve-ilc-al-libs-tagged-children.txt b/spec/contracts/retrieve-ilc-al-libs-tagged-children.txt
new file mode 100644
index 0000000..1e640d2
--- /dev/null
+++ b/spec/contracts/retrieve-ilc-al-libs-tagged-children.txt
@@ -0,0 +1,4 @@
+GET /ilc-al-libs-tagged-uuid/children HTTP/1.1
+Accept: application/json
+Cookie: WTSISignOn=
+X-Sequencescape-Client-Id: testing
\ No newline at end of file
diff --git a/spec/contracts/retrieve-ilc-al-libs-tagged-uuid.txt b/spec/contracts/retrieve-ilc-al-libs-tagged-uuid.txt
new file mode 100644
index 0000000..853b877
--- /dev/null
+++ b/spec/contracts/retrieve-ilc-al-libs-tagged-uuid.txt
@@ -0,0 +1,5 @@
+GET /ilc-al-libs-tagged-uuid HTTP/1.1
+Accept: application/json
+Cookie: WTSISignOn=
+X-Sequencescape-Client-Id: testing
+
diff --git a/spec/contracts/retrieve-ilc-al-libs-uuid.txt b/spec/contracts/retrieve-ilc-al-libs-uuid.txt
new file mode 100644
index 0000000..cb5e760
--- /dev/null
+++ b/spec/contracts/retrieve-ilc-al-libs-uuid.txt
@@ -0,0 +1,4 @@
+GET /ilc-al-libs-uuid HTTP/1.1
+Accept: application/json
+Cookie: WTSISignOn=
+X-Sequencescape-Client-Id: testing
\ No newline at end of file
diff --git a/spec/contracts/retrieve-ilc-stock-plate-comments.txt b/spec/contracts/retrieve-ilc-stock-plate-comments.txt
new file mode 100644
index 0000000..0f3b132
--- /dev/null
+++ b/spec/contracts/retrieve-ilc-stock-plate-comments.txt
@@ -0,0 +1,4 @@
+GET /ilc-stock-plate-uuid/comments HTTP/1.1
+Accept: application/json
+Cookie: WTSISignOn=
+X-Sequencescape-Client-Id: testing
\ No newline at end of file
diff --git a/spec/contracts/retrieve-ilc-stock-plate-submission-pools.txt b/spec/contracts/retrieve-ilc-stock-plate-submission-pools.txt
new file mode 100644
index 0000000..8384468
--- /dev/null
+++ b/spec/contracts/retrieve-ilc-stock-plate-submission-pools.txt
@@ -0,0 +1,5 @@
+GET /ilc-stock-plate-uuid/submission_pools HTTP/1.1
+Accept: application/json
+Cookie: WTSISignOn=
+X-Sequencescape-Client-Id: testing
+
diff --git a/spec/contracts/retrieve-ilc-stock-plate-wells.txt b/spec/contracts/retrieve-ilc-stock-plate-wells.txt
new file mode 100644
index 0000000..863c38c
--- /dev/null
+++ b/spec/contracts/retrieve-ilc-stock-plate-wells.txt
@@ -0,0 +1,5 @@
+GET /ilc-stock-plate-uuid/wells HTTP/1.1
+Accept: application/json
+Cookie: WTSISignOn=
+X-Sequencescape-Client-Id: testing
+
diff --git a/spec/contracts/retrieve-ilc-stock-plate-with-metadata-comments.txt b/spec/contracts/retrieve-ilc-stock-plate-with-metadata-comments.txt
new file mode 100644
index 0000000..0859926
--- /dev/null
+++ b/spec/contracts/retrieve-ilc-stock-plate-with-metadata-comments.txt
@@ -0,0 +1,4 @@
+GET /ilc-stock-plate-with-metadata-uuid/comments HTTP/1.1
+Accept: application/json
+Cookie: WTSISignOn=
+X-Sequencescape-Client-Id: testing
\ No newline at end of file
diff --git a/spec/contracts/retrieve-ilc-stock-plate-with-metadata-wells.txt b/spec/contracts/retrieve-ilc-stock-plate-with-metadata-wells.txt
new file mode 100644
index 0000000..5f22f6d
--- /dev/null
+++ b/spec/contracts/retrieve-ilc-stock-plate-with-metadata-wells.txt
@@ -0,0 +1,5 @@
+GET /ilc-stock-plate-with-metadata-uuid/wells HTTP/1.1
+Accept: application/json
+Cookie: WTSISignOn=
+X-Sequencescape-Client-Id: testing
+
diff --git a/spec/contracts/retrieve-ilc-stock-plate-with-metadata.txt b/spec/contracts/retrieve-ilc-stock-plate-with-metadata.txt
new file mode 100644
index 0000000..5a73d41
--- /dev/null
+++ b/spec/contracts/retrieve-ilc-stock-plate-with-metadata.txt
@@ -0,0 +1,4 @@
+GET /ilc-stock-plate-with-metadata-uuid HTTP/1.1
+Accept: application/json
+Cookie: WTSISignOn=
+X-Sequencescape-Client-Id: testing
\ No newline at end of file
diff --git a/spec/contracts/retrieve-ilc-stock-plate.txt b/spec/contracts/retrieve-ilc-stock-plate.txt
new file mode 100644
index 0000000..05c8dbf
--- /dev/null
+++ b/spec/contracts/retrieve-ilc-stock-plate.txt
@@ -0,0 +1,5 @@
+GET /ilc-stock-plate-uuid HTTP/1.1
+Accept: application/json
+Cookie: WTSISignOn=
+X-Sequencescape-Client-Id: testing
+
diff --git a/spec/contracts/retrieve-lot-type-uuid.txt b/spec/contracts/retrieve-lot-type-uuid.txt
new file mode 100644
index 0000000..5c20308
--- /dev/null
+++ b/spec/contracts/retrieve-lot-type-uuid.txt
@@ -0,0 +1,4 @@
+GET /lot-type-uuid HTTP/1.1
+Accept: application/json
+Cookie: WTSISignOn=
+X-Sequencescape-Client-Id: testing
diff --git a/spec/contracts/retrieve-multiplexed-library-tube-2-uuid.txt b/spec/contracts/retrieve-multiplexed-library-tube-2-uuid.txt
new file mode 100644
index 0000000..a69e134
--- /dev/null
+++ b/spec/contracts/retrieve-multiplexed-library-tube-2-uuid.txt
@@ -0,0 +1,4 @@
+GET /multiplexed-library-tube-2-uuid HTTP/1.1
+Accept: application/json
+Cookie: WTSISignOn=
+X-Sequencescape-Client-Id: testing
\ No newline at end of file
diff --git a/spec/contracts/retrieve-multiplexed-library-tube-uuid.txt b/spec/contracts/retrieve-multiplexed-library-tube-uuid.txt
new file mode 100644
index 0000000..c311162
--- /dev/null
+++ b/spec/contracts/retrieve-multiplexed-library-tube-uuid.txt
@@ -0,0 +1,4 @@
+GET /multiplexed-library-tube-uuid HTTP/1.1
+Accept: application/json
+Cookie: WTSISignOn=
+X-Sequencescape-Client-Id: testing
\ No newline at end of file
diff --git a/spec/contracts/retrieve-plate-creation-ilc-al-libs-tagged.txt b/spec/contracts/retrieve-plate-creation-ilc-al-libs-tagged.txt
new file mode 100644
index 0000000..14037d7
--- /dev/null
+++ b/spec/contracts/retrieve-plate-creation-ilc-al-libs-tagged.txt
@@ -0,0 +1,13 @@
+POST /plate_creations HTTP/1.1
+Accept: application/json
+Content-Type: application/json
+Cookie: WTSISignOn=
+X-Sequencescape-Client-Id: testing
+
+{
+ "plate_creation": {
+ "parent": "ilc-stock-plate-uuid",
+ "child_purpose": "ilc-al-libs-tagged-uuid",
+ "user": "user-uuid"
+ }
+}
diff --git a/spec/contracts/retrieve-post-to-find-qcable-by-barcode-uuid.txt b/spec/contracts/retrieve-post-to-find-qcable-by-barcode-uuid.txt
new file mode 100644
index 0000000..09e5b54
--- /dev/null
+++ b/spec/contracts/retrieve-post-to-find-qcable-by-barcode-uuid.txt
@@ -0,0 +1,7 @@
+POST /find-qcable-by-barcode-uuid/first HTTP/1.1
+Accept: application/json
+Content-Type: application/json
+Cookie: WTSISignOn=
+X-Sequencescape-Client-Id: testing
+
+{"search":{"barcode":"3980681751743"}}
diff --git a/spec/contracts/retrieve-state-change-tag-2-tube-to-exhausted.txt b/spec/contracts/retrieve-state-change-tag-2-tube-to-exhausted.txt
new file mode 100644
index 0000000..854d087
--- /dev/null
+++ b/spec/contracts/retrieve-state-change-tag-2-tube-to-exhausted.txt
@@ -0,0 +1,14 @@
+POST /state_changes HTTP/1.1
+Accept: application/json
+Content-Type: application/json
+Cookie: WTSISignOn=
+X-Sequencescape-Client-Id: testing
+
+{
+ "state_change": {
+ "reason": "Used in library creation",
+ "target_state": "exhausted",
+ "user": "user-uuid",
+ "target": "tag-2-tube-uuid"
+ }
+}
diff --git a/spec/contracts/retrieve-state-change-tube-2-to-passed.txt b/spec/contracts/retrieve-state-change-tube-2-to-passed.txt
new file mode 100644
index 0000000..778d677
--- /dev/null
+++ b/spec/contracts/retrieve-state-change-tube-2-to-passed.txt
@@ -0,0 +1,15 @@
+POST /state_changes HTTP/1.1
+Accept: application/json
+Content-Type: application/json
+Cookie: WTSISignOn=
+X-Sequencescape-Client-Id: testing
+
+{
+ "state_change": {
+ "target_state": "passed",
+ "reason": null,
+ "customer_accepts_responsibility": false,
+ "target": "multiplexed-library-tube-2-uuid",
+ "user": "user-uuid"
+ }
+}
\ No newline at end of file
diff --git a/spec/contracts/retrieve-state-change-tube-to-passed.txt b/spec/contracts/retrieve-state-change-tube-to-passed.txt
new file mode 100644
index 0000000..9ca19f5
--- /dev/null
+++ b/spec/contracts/retrieve-state-change-tube-to-passed.txt
@@ -0,0 +1,15 @@
+POST /state_changes HTTP/1.1
+Accept: application/json
+Content-Type: application/json
+Cookie: WTSISignOn=
+X-Sequencescape-Client-Id: testing
+
+{
+ "state_change": {
+ "target_state": "passed",
+ "reason": null,
+ "customer_accepts_responsibility": false,
+ "target": "multiplexed-library-tube-uuid",
+ "user": "user-uuid"
+ }
+}
\ No newline at end of file
diff --git a/spec/contracts/retrieve-tag-2-template-layout-creation-a.txt b/spec/contracts/retrieve-tag-2-template-layout-creation-a.txt
new file mode 100644
index 0000000..c703e30
--- /dev/null
+++ b/spec/contracts/retrieve-tag-2-template-layout-creation-a.txt
@@ -0,0 +1,7 @@
+POST /tag-2-layout-template-uuid HTTP/1.1
+Accept: application/json
+Content-Type: application/json
+Cookie: WTSISignOn=
+X-Sequencescape-Client-Id: testing
+
+{"tag2_layout":{"plate":"ilc-al-libs-tagged-plate-uuid","user":"user-uuid"}}
diff --git a/spec/contracts/retrieve-tag-2-template-uuid.txt b/spec/contracts/retrieve-tag-2-template-uuid.txt
new file mode 100644
index 0000000..f373991
--- /dev/null
+++ b/spec/contracts/retrieve-tag-2-template-uuid.txt
@@ -0,0 +1,4 @@
+GET /tag-2-template-uuid HTTP/1.1
+Accept: application/json
+Cookie: WTSISignOn=
+X-Sequencescape-Client-Id: testing
diff --git a/spec/contracts/retrieve-tag-groups.txt b/spec/contracts/retrieve-tag-groups.txt
new file mode 100644
index 0000000..f043407
--- /dev/null
+++ b/spec/contracts/retrieve-tag-groups.txt
@@ -0,0 +1,5 @@
+GET /tag_groups HTTP/1.1
+Accept: application/json
+Cookie: WTSISignOn=
+X-Sequencescape-Client-Id: testing
+
diff --git a/spec/contracts/retrieve-tag-layout-creation-a.txt b/spec/contracts/retrieve-tag-layout-creation-a.txt
new file mode 100644
index 0000000..755acc8
--- /dev/null
+++ b/spec/contracts/retrieve-tag-layout-creation-a.txt
@@ -0,0 +1,7 @@
+POST /tag_layouts HTTP/1.1
+Accept: application/json
+Content-Type: application/json
+Cookie: WTSISignOn=
+X-Sequencescape-Client-Id: testing
+
+{"tag_layout":{"tag_group":"tag-group-uuid","direction":"column","walking_by":"manual by plate","initial_tag":"1","substitutions":null,"tags_per_well":1,"user":"user-uuid","plate":"ilc-al-libs-tagged-plate-uuid"}}
diff --git a/spec/contracts/retrieve-tag-layout-creation-b.txt b/spec/contracts/retrieve-tag-layout-creation-b.txt
new file mode 100644
index 0000000..cc883e0
--- /dev/null
+++ b/spec/contracts/retrieve-tag-layout-creation-b.txt
@@ -0,0 +1,7 @@
+POST /tag_layouts HTTP/1.1
+Accept: application/json
+Content-Type: application/json
+Cookie: WTSISignOn=
+X-Sequencescape-Client-Id: testing
+
+{"tag_layout":{"tag_group":"tag-group-uuid","direction":"column","walking_by":"manual by plate","initial_tag":"1","substitutions":null,"tags_per_well":4,"user":"user-uuid","plate":"ilc-al-libs-tagged-plate-uuid"}}
diff --git a/spec/contracts/retrieve-tag2-layout-templates.txt b/spec/contracts/retrieve-tag2-layout-templates.txt
new file mode 100644
index 0000000..2ffa865
--- /dev/null
+++ b/spec/contracts/retrieve-tag2-layout-templates.txt
@@ -0,0 +1,5 @@
+GET /tag2_layout_templates HTTP/1.1
+Accept: application/json
+Cookie: WTSISignOn=
+X-Sequencescape-Client-Id: testing
+
diff --git a/spec/contracts/retrieve-tag2-lot-uuid.txt b/spec/contracts/retrieve-tag2-lot-uuid.txt
new file mode 100644
index 0000000..4d4dcd7
--- /dev/null
+++ b/spec/contracts/retrieve-tag2-lot-uuid.txt
@@ -0,0 +1,4 @@
+GET /tag2-lot-uuid HTTP/1.1
+Accept: application/json
+Cookie: WTSISignOn=
+X-Sequencescape-Client-Id: testing
diff --git a/spec/contracts/retrieve-tag2-qcable-uuid.txt b/spec/contracts/retrieve-tag2-qcable-uuid.txt
new file mode 100644
index 0000000..cc293a5
--- /dev/null
+++ b/spec/contracts/retrieve-tag2-qcable-uuid.txt
@@ -0,0 +1,4 @@
+GET /tag2-qcable-uuid HTTP/1.1
+Accept: application/json
+Cookie: WTSISignOn=
+X-Sequencescape-Client-Id: testing
diff --git a/spec/contracts/retrieve-update-custom-metadatum-collection-2.txt b/spec/contracts/retrieve-update-custom-metadatum-collection-2.txt
new file mode 100644
index 0000000..0bbb29e
--- /dev/null
+++ b/spec/contracts/retrieve-update-custom-metadatum-collection-2.txt
@@ -0,0 +1,7 @@
+PUT /custom-metadatum-collection-2-uuid HTTP/1.1
+Accept: application/json
+Content-Type: application/json
+Cookie: WTSISignOn=
+X-Sequencescape-Client-Id: testing
+
+{"custom_metadatum_collection":{"metadata":{"Key1":"Value1","Key3":"Value3"}}}
\ No newline at end of file
diff --git a/spec/contracts/retrieve-update-custom-metadatum-collection-3.txt b/spec/contracts/retrieve-update-custom-metadatum-collection-3.txt
new file mode 100644
index 0000000..8459108
--- /dev/null
+++ b/spec/contracts/retrieve-update-custom-metadatum-collection-3.txt
@@ -0,0 +1,7 @@
+PUT /custom-metadatum-collection-3-uuid HTTP/1.1
+Accept: application/json
+Content-Type: application/json
+Cookie: WTSISignOn=
+X-Sequencescape-Client-Id: testing
+
+{"custom_metadatum_collection":{"metadata":{"Key1":"Value1","Key2":"Value4","Key3":"Value3"}}}
\ No newline at end of file
diff --git a/spec/contracts/retrieve-update-custom-metadatum-collection.txt b/spec/contracts/retrieve-update-custom-metadatum-collection.txt
new file mode 100644
index 0000000..1965ba2
--- /dev/null
+++ b/spec/contracts/retrieve-update-custom-metadatum-collection.txt
@@ -0,0 +1,7 @@
+PUT /custom-metadatum-collection-uuid HTTP/1.1
+Accept: application/json
+Content-Type: application/json
+Cookie: WTSISignOn=
+X-Sequencescape-Client-Id: testing
+
+{"custom_metadatum_collection":{"metadata":{"Key1":"Value1","Key2":"Value2","Key3":"Value3","Key4":"Value4"}}}
\ No newline at end of file
diff --git a/spec/contracts/retrieve-user.txt b/spec/contracts/retrieve-user.txt
new file mode 100644
index 0000000..aaf7c3f
--- /dev/null
+++ b/spec/contracts/retrieve-user.txt
@@ -0,0 +1,4 @@
+GET /user-uuid HTTP/1.1
+Accept: application/json
+Cookie: WTSISignOn=
+X-Sequencescape-Client-Id: testing
\ No newline at end of file
diff --git a/spec/contracts/state-change-tag-2-tube-to-exhausted.txt b/spec/contracts/state-change-tag-2-tube-to-exhausted.txt
new file mode 100644
index 0000000..91200ff
--- /dev/null
+++ b/spec/contracts/state-change-tag-2-tube-to-exhausted.txt
@@ -0,0 +1,18 @@
+HTTP/1.1 201 OK
+Content-Type: application/json
+
+{
+ "state_change": {
+ "actions": {
+ "read": "http://localhost:3000/state-change-tag-2-tube-to-exhausted-uuid"
+ },
+ "target": {
+ "actions": {
+ "read": "http://localhost:3000/tag-2-tube-uuid"
+ }
+ },
+ "target_state": "exhausted",
+ "previous_state": "available",
+ "reason": "Used in library creation"
+ }
+}
diff --git a/spec/contracts/state-change-tube-2-to-passed.txt b/spec/contracts/state-change-tube-2-to-passed.txt
new file mode 100644
index 0000000..f3b79cb
--- /dev/null
+++ b/spec/contracts/state-change-tube-2-to-passed.txt
@@ -0,0 +1,16 @@
+HTTP/1.1 201 OK
+Content-Type: application/json
+
+{
+ "state_change": {
+ "actions": {
+ "read": "http://localhost:3000/state-change-tube-2-to-passed-uuid"
+ },
+ "target": {
+ "actions": {
+ "read": "http://localhost:3000/tube-2-uuid"
+ }
+ },
+ "target_state": "passed"
+ }
+}
\ No newline at end of file
diff --git a/spec/contracts/state-change-tube-to-passed.txt b/spec/contracts/state-change-tube-to-passed.txt
new file mode 100644
index 0000000..91cba29
--- /dev/null
+++ b/spec/contracts/state-change-tube-to-passed.txt
@@ -0,0 +1,16 @@
+HTTP/1.1 201 OK
+Content-Type: application/json
+
+{
+ "state_change": {
+ "actions": {
+ "read": "http://localhost:3000/state-change-tube-to-passed-uuid"
+ },
+ "target": {
+ "actions": {
+ "read": "http://localhost:3000/tube-uuid"
+ }
+ },
+ "target_state": "passed"
+ }
+}
\ No newline at end of file
diff --git a/spec/contracts/tag-2-template-layout-creation-a.txt b/spec/contracts/tag-2-template-layout-creation-a.txt
new file mode 100644
index 0000000..f5b0008
--- /dev/null
+++ b/spec/contracts/tag-2-template-layout-creation-a.txt
@@ -0,0 +1,6 @@
+HTTP/1.1 201 OK
+Content-Type: application/json
+
+{
+ "tag_2_layout":{"uuid":"tag-2-layout-uuid"}
+}
diff --git a/spec/contracts/tag-2-template-uuid.txt b/spec/contracts/tag-2-template-uuid.txt
new file mode 100644
index 0000000..2f405cf
--- /dev/null
+++ b/spec/contracts/tag-2-template-uuid.txt
@@ -0,0 +1,21 @@
+HTTP/1.1 200 OK
+Content-Type: application/json
+
+{
+ "tag2_layout_template": {
+ "created_at": "2016-04-13 12:44:12 +0100",
+ "updated_at": "2016-04-13 12:52:41 +0100",
+ "actions": {
+ "read": "http://localhost:3000/tag-2-layout-template-uuid",
+ "create": "http://localhost:3000/tag-2-layout-template-uuid"
+ },
+ "uuid": "tag-2-layout-template-uuid",
+ "name": "Tag 516 (TTATGCGA)",
+ "tag": {
+ "group": "Dual Index Tag2 sequences",
+ "identifier": 16,
+ "name": "Tag 16",
+ "oligo": "TTATGCGA"
+ }
+ }
+}
diff --git a/spec/contracts/tag-groups.txt b/spec/contracts/tag-groups.txt
new file mode 100644
index 0000000..73743dc
--- /dev/null
+++ b/spec/contracts/tag-groups.txt
@@ -0,0 +1,4 @@
+HTTP/1.1 200 OK
+Content-Type: application/json
+
+{"actions":{"read":"http://localhost:3000/tag_groups/1","first":"http://localhost:3000/tag_groups/1","last":"http://localhost:3000/tag_groups/1"},"size":2,"tag_groups":[{"created_at":"2010-03-31 17:26:03 +0100","updated_at":"2011-06-07 14:52:49 +0100","actions":{"read":"http://localhost:3000/dud-tag-group-uuid"},"uuid":"dud-tag-group-uuid","name":"Old 12 TagTubes - do not use","tags":{"1":"","2":"","3":"","4":"","5":"","6":"","7":"","8":"","9":"","10":"","11":"","12":""}},{"created_at":"2010-04-14 18:39:19 +0100","updated_at":"2011-06-07 14:54:29 +0100","actions":{"read":"http://localhost:3000/tag-group-a-uuid"},"uuid":"tag-group-a-uuid","name":"Small group","tags":{"1":"ATCACGTTAT","2":"CGATGTTTAT","3":"TTAGGCATAT","4":"TGACCACTAT","5":"ACAGTGGTAT","6":"GCCAATGTAT","7":"CAGATCTGAT","8":"ACTTGATGAT","9":"GATCAGCGAT","10":"TAGCTTGTAT","11":"GGCTACAGAT","12":"CTTGTACTAT"}},{"created_at":"2010-04-14 18:39:19 +0100","updated_at":"2013-07-01 15:44:43 +0100","actions":{"read":"http://localhost:3000/tag-group-b-uuid"},"uuid":"tag-group-b-uuid","name":"Illumina set/Scriptseq - 6 mer tags","tags":{"1":"ATCACG","2":"CGATGT","3":"TTAGGC","4":"TGACCA","5":"ACAGTG","6":"GCCAAT","7":"CAGATC","8":"ACTTGA","9":"GATCAG","10":"TAGCTT","11":"GGCTAC","12":"CTTGTA"}},{"created_at":"2010-04-14 18:39:19 +0100","updated_at":"2013-07-01 15:44:43 +0100","actions":{"read":"http://localhost:3000/tag-group-c-uuid"},"uuid":"tag-group-c-uuid","name":"Suitably big group","tags":{"1":"ATCGA","2":"ATCAG","3":"ATGCA","4":"ATGAC","5":"ATACG","6":"ATAGC","7":"ACTGA","8":"ACTAG","9":"ACGTA","10":"ACGAT","11":"ACATG","12":"ACAGT","13":"AGTCA","14":"AGTAC","15":"AGCTA","16":"AGCAT","17":"AGATC","18":"AGACT","19":"AATCG","20":"AATGC","21":"AACTG","22":"AACGT","23":"AAGTC","24":"AAGCT","25":"TACGA","26":"TACAG","27":"TAGCA","28":"TAGAC","29":"TAACG","30":"TAAGC","31":"TCAGA","32":"TCAAG","33":"TCGAA","34":"TCGAA","35":"TCAAG","36":"TCAGA","37":"TGACA","38":"TGAAC","39":"TGCAA","40":"TGCAA","41":"TGAAC","42":"TGACA","43":"TAACG","44":"TAAGC","45":"TACAG","46":"TACGA","47":"TAGAC","48":"TAGCA","49":"CATGA","50":"CATAG","51":"CAGTA","52":"CAGAT","53":"CAATG","54":"CAAGT","55":"CTAGA","56":"CTAAG","57":"CTGAA","58":"CTGAA","59":"CTAAG","60":"CTAGA","61":"CGATA","62":"CGAAT","63":"CGTAA","64":"CGTAA","65":"CGAAT","66":"CGATA","67":"CAATG","68":"CAAGT","69":"CATAG","70":"CATGA","71":"CAGAT","72":"CAGTA","73":"GATCA","74":"GATAC","75":"GACTA","76":"GACAT","77":"GAATC","78":"GAACT","79":"GTACA","80":"GTAAC","81":"GTCAA","82":"GTCAA","83":"GTAAC","84":"GTACA","85":"GCATA","86":"GCAAT","87":"GCTAA","88":"GCTAA","89":"GCAAT","90":"GCATA","91":"GAATC","92":"GAACT","93":"GATAC","94":"GATCA","95":"GACAT","96":"GACTA","97":"AATCG","98":"AATGC","99":"AACTG","100":"AACGT","101":"AAGTC","102":"AAGCT","103":"ATACG","104":"ATAGC","105":"ATCAG","106":"ATCGA","107":"ATGAC","108":"ATGCA","109":"ACATG","110":"ACAGT","111":"ACTAG","112":"ACTGA","113":"ACGAT","114":"ACGTA","115":"AGATC","116":"AGACT","117":"AGTAC","118":"AGTCA","119":"AGCAT","120":"AGCTA"}},{"created_at":"2010-04-14 18:39:19 +0100","updated_at":"2013-07-01 15:44:43 +0100","actions":{"read":"http://localhost:3000/tag-group-d-uuid"},"uuid":"tag-group-d-uuid","name":"Other big group","tags":{"1":"ATCGA","2":"ATCAG","3":"ATGCA","4":"ATGAC","5":"ATACG","6":"ATAGC","7":"ACTGA","8":"ACTAG","9":"ACGTA","10":"ACGAT","11":"ACATG","12":"ACAGT","13":"AGTCA","14":"AGTAC","15":"AGCTA","16":"AGCAT","17":"AGATC","18":"AGACT","19":"AATCG","20":"AATGC","21":"AACTG","22":"AACGT","23":"AAGTC","24":"AAGCT","25":"TACGA","26":"TACAG","27":"TAGCA","28":"TAGAC","29":"TAACG","30":"TAAGC","31":"TCAGA","32":"TCAAG","33":"TCGAA","34":"TCGAA","35":"TCAAG","36":"TCAGA","37":"TGACA","38":"TGAAC","39":"TGCAA","40":"TGCAA","41":"TGAAC","42":"TGACA","43":"TAACG","44":"TAAGC","45":"TACAG","46":"TACGA","47":"TAGAC","48":"TAGCA","49":"CATGA","50":"CATAG","51":"CAGTA","52":"CAGAT","53":"CAATG","54":"CAAGT","55":"CTAGA","56":"CTAAG","57":"CTGAA","58":"CTGAA","59":"CTAAG","60":"CTAGA","61":"CGATA","62":"CGAAT","63":"CGTAA","64":"CGTAA","65":"CGAAT","66":"CGATA","67":"CAATG","68":"CAAGT","69":"CATAG","70":"CATGA","71":"CAGAT","72":"CAGTA","73":"GATCA","74":"GATAC","75":"GACTA","76":"GACAT","77":"GAATC","78":"GAACT","79":"GTACA","80":"GTAAC","81":"GTCAA","82":"GTCAA","83":"GTAAC","84":"GTACA","85":"GCATA","86":"GCAAT","87":"GCTAA","88":"GCTAA","89":"GCAAT","90":"GCATA","91":"GAATC","92":"GAACT","93":"GATAC","94":"GATCA","95":"GACAT","96":"GACTA","97":"AATCG","98":"AATGC","99":"AACTG","100":"AACGT","101":"AAGTC","102":"AAGCT","103":"ATACG","104":"ATAGC","105":"ATCAG","106":"ATCGA","107":"ATGAC","108":"ATGCA","109":"ACATG","110":"ACAGT","111":"ACTAG","112":"ACTGA","113":"ACGAT","114":"ACGTA","115":"AGATC","116":"AGACT","117":"AGTAC","118":"AGTCA","119":"AGCAT","120":"AGCTA"}}]}
diff --git a/spec/contracts/tag-layout-creation-a.txt b/spec/contracts/tag-layout-creation-a.txt
new file mode 100644
index 0000000..2049abe
--- /dev/null
+++ b/spec/contracts/tag-layout-creation-a.txt
@@ -0,0 +1,6 @@
+HTTP/1.1 201 OK
+Content-Type: application/json
+
+{
+ "tag_layout":{"uuid":"tag-layout-uuid"}
+}
diff --git a/spec/contracts/tag-layout-creation-b.txt b/spec/contracts/tag-layout-creation-b.txt
new file mode 100644
index 0000000..2049abe
--- /dev/null
+++ b/spec/contracts/tag-layout-creation-b.txt
@@ -0,0 +1,6 @@
+HTTP/1.1 201 OK
+Content-Type: application/json
+
+{
+ "tag_layout":{"uuid":"tag-layout-uuid"}
+}
diff --git a/spec/contracts/tag2-layout-templates.txt b/spec/contracts/tag2-layout-templates.txt
new file mode 100644
index 0000000..4ad1cc1
--- /dev/null
+++ b/spec/contracts/tag2-layout-templates.txt
@@ -0,0 +1,7 @@
+HTTP/1.1 200 OK
+Content-Type: application/json
+
+{"actions":{"read":"http://localhost:3000/tag2_layout_templates/1","first":"http://localhost:3000/tag2_layout_templates/1","last":"http://localhost:3000/tag2_layout_templates/1"},"size":2,"tag2_layout_templates":[
+ {"created_at":"2015-08-17 10:20:55 +0100","updated_at":"2015-08-17 10:20:55 +0100","actions":{"read":"http://localhost:3000/unused-tag2-template-uuid"},"uuid":"unused-tag2-template-uuid","name":"Unused template","tag":{"group":"Dual Index Tag2 sequences","identifier":1,"name":"Tag 1","oligo":"TATAGCCT"}},
+ {"created_at":"2015-08-17 10:20:55 +0100","updated_at":"2015-08-17 10:20:55 +0100","actions":{"read":"http://localhost:3000/used-tag2-template-uuid"},"uuid":"used-tag2-template-uuid","name":"Used template","tag":{"group":"Dual Index Tag2 sequences","identifier":2,"name":"Tag 2","oligo":"ATAGAGGC"}}
+]}
diff --git a/spec/contracts/tag2-lot-uuid.txt b/spec/contracts/tag2-lot-uuid.txt
new file mode 100644
index 0000000..ed5466d
--- /dev/null
+++ b/spec/contracts/tag2-lot-uuid.txt
@@ -0,0 +1,4 @@
+HTTP/1.1 200 OK
+Content-Type: application/json
+
+{"lot":{"created_at":"2015-08-17 15:39:11 +0100","updated_at":"2015-08-17 15:39:11 +0100","qcables":{"size":70,"actions":{"read":"http://localhost:3000/tag2-lot-uuid/qcables"}},"lot_type":{"actions":{"read":"http://localhost:3000/lot-type-uuid"},"uuid":"lot-type-uuid"},"template":{"actions":{"read":"http://localhost:3000/tag-2-template-uuid"},"uuid":"tag-2-template-uuid"},"actions":{"read":"http://localhost:3000/tag2-lot-uuid"},"uuid":"tag2-lot-uuid","lot_number":"lot1","lot_type_name":"Tag 2 Tubes","received_at":"2015-08-17","template_name":"Tag 502 (ATAGAGGC)"}}
diff --git a/spec/contracts/tag2-qcable-uuid.txt b/spec/contracts/tag2-qcable-uuid.txt
new file mode 100644
index 0000000..3fc52df
--- /dev/null
+++ b/spec/contracts/tag2-qcable-uuid.txt
@@ -0,0 +1,4 @@
+HTTP/1.1 200 OK
+Content-Type: application/json
+
+{"qcable":{"created_at":"2015-08-17 15:40:36 +0100","updated_at":"2015-08-17 15:53:16 +0100","asset":{"actions":{"read":"http://localhost:3000/tag2-tube-uuid"},"uuid":"tag2-tube-uuid"},"lot":{"actions":{"read":"http://localhost:3000/tag2-lot-uuid"},"uuid":"tag2-lot-uuid"},"actions":{"read":"http://localhost:3000/tag2-qcable-uuid"},"uuid":"tag2-qcable-uuid","barcode":{"ean13":"3980681751743","number":"681751","prefix":"NT"},"stamp_index":null,"state":"available"}}
diff --git a/spec/contracts/update-custom-metadatum-collection-2.txt b/spec/contracts/update-custom-metadatum-collection-2.txt
new file mode 100644
index 0000000..633b883
--- /dev/null
+++ b/spec/contracts/update-custom-metadatum-collection-2.txt
@@ -0,0 +1,31 @@
+HTTP/1.1 200 OK
+Content-Type: application/json
+
+{
+ "custom_metadatum_collection": {
+ "created_at": "2016-10-18 14:22:47 +0100",
+ "updated_at": "2016-10-18 14:22:47 +0100",
+ "asset": {
+ "actions": {
+ "read": "http://localhost:3000/ilc-stock-plate-with-metadata-uuid"
+ },
+ "uuid": "ilc-stock-plate-with-metadata-uuid"
+ },
+ "user": {
+ "actions": {
+ "read": "http://localhost:3000/user-uuid",
+ "update": "http://localhost:3000/user-uuid"
+ },
+ "uuid": "user-uuid"
+ },
+ "actions": {
+ "read": "http://localhost:3000/custom-metadatum-collection-2-uuid",
+ "update": "http://localhost:3000/custom-metadatum-collection-2-uuid"
+ },
+ "uuid": "custom-metadatum-collection-2-uuid",
+ "metadata": {
+ "Key1": "Value1",
+ "Key3": "Value3"
+ }
+ }
+}
\ No newline at end of file
diff --git a/spec/contracts/update-custom-metadatum-collection-3.txt b/spec/contracts/update-custom-metadatum-collection-3.txt
new file mode 100644
index 0000000..87f94fb
--- /dev/null
+++ b/spec/contracts/update-custom-metadatum-collection-3.txt
@@ -0,0 +1,32 @@
+HTTP/1.1 200 OK
+Content-Type: application/json
+
+{
+ "custom_metadatum_collection": {
+ "created_at": "2016-10-18 14:22:47 +0100",
+ "updated_at": "2016-10-18 14:22:47 +0100",
+ "asset": {
+ "actions": {
+ "read": "http://localhost:3000/ilc-stock-plate-with-metadata-uuid"
+ },
+ "uuid": "ilc-stock-plate-with-metadata-uuid"
+ },
+ "user": {
+ "actions": {
+ "read": "http://localhost:3000/user-uuid",
+ "update": "http://localhost:3000/user-uuid"
+ },
+ "uuid": "user-uuid"
+ },
+ "actions": {
+ "read": "http://localhost:3000/custom-metadatum-collection-3-uuid",
+ "update": "http://localhost:3000/custom-metadatum-collection-3-uuid"
+ },
+ "uuid": "custom-metadatum-collection-3-uuid",
+ "metadata": {
+ "Key1": "Value1",
+ "Key2": "Value4",
+ "Key3": "Value3"
+ }
+ }
+}
\ No newline at end of file
diff --git a/spec/contracts/update-custom-metadatum-collection.txt b/spec/contracts/update-custom-metadatum-collection.txt
new file mode 100644
index 0000000..47904e2
--- /dev/null
+++ b/spec/contracts/update-custom-metadatum-collection.txt
@@ -0,0 +1,33 @@
+HTTP/1.1 200 OK
+Content-Type: application/json
+
+{
+ "custom_metadatum_collection": {
+ "created_at": "2016-10-18 14:22:47 +0100",
+ "updated_at": "2016-10-18 14:22:47 +0100",
+ "asset": {
+ "actions": {
+ "read": "http://localhost:3000/ilc-stock-plate-with-metadata-uuid"
+ },
+ "uuid": "ilc-stock-plate-with-metadata-uuid"
+ },
+ "user": {
+ "actions": {
+ "read": "http://localhost:3000/user-uuid",
+ "update": "http://localhost:3000/user-uuid"
+ },
+ "uuid": "user-uuid"
+ },
+ "actions": {
+ "read": "http://localhost:3000/custom-metadatum-collection-uuid",
+ "update": "http://localhost:3000/custom-metadatum-collection-uuid"
+ },
+ "uuid": "custom-metadatum-collection-uuid",
+ "metadata": {
+ "Key1": "Value1",
+ "Key2": "Value2",
+ "Key3": "Value3",
+ "Key4": "Value4"
+ }
+ }
+}
\ No newline at end of file
diff --git a/spec/contracts/user.txt b/spec/contracts/user.txt
new file mode 100644
index 0000000..af5857d
--- /dev/null
+++ b/spec/contracts/user.txt
@@ -0,0 +1,20 @@
+HTTP/1.1 200 OK
+Content-Type: application/json
+
+{
+ "user": {
+ "created_at": "2016-09-28 09:41:14 +0100",
+ "updated_at": "2016-09-28 09:41:14 +0100",
+ "actions": {
+ "read": "http://localhost:3000/user-uuid",
+ "update": "http://localhost:3000/user-uuid"
+ },
+ "uuid": "user-uuid",
+ "barcode": "abc",
+ "email": null,
+ "first_name": null,
+ "has_a_swipecard_code": true,
+ "last_name": null,
+ "login": "admin"
+ }
+}
\ No newline at end of file
diff --git a/spec/controllers/metadata_controller_spec.rb b/spec/controllers/metadata_controller_spec.rb
new file mode 100644
index 0000000..22e3f06
--- /dev/null
+++ b/spec/controllers/metadata_controller_spec.rb
@@ -0,0 +1,76 @@
+require 'rails_helper'
+require './app/controllers/metadata_controller'
+
+describe MetadataController, type: :controller do
+
+ describe 'CREATE' do
+
+ describe 'create' do
+
+ has_a_working_api
+ stub_request_and_response('create-custom-metadatum-collection')
+
+ it 'creates metadata' do
+ request.env['HTTP_REFERER'] = illumina_c_plate_path('ilc-stock-plate-uuid')
+ post :create, {"metadata"=>[{"key"=>"Key1", "value"=>""}, {"key"=>"Key1", "value"=>"Value1"}, {"key"=>"Key2", "value"=>"Value2"}, {"key"=>"Key3", "value"=>"Value3"}],
+ "asset_id"=>"ilc-stock-plate-uuid"}, user_uuid: "user-uuid", format: :json
+ expect(response).to redirect_to(illumina_c_plate_path('ilc-stock-plate-uuid'))
+ end
+
+ end
+ end
+
+ describe 'UPDATE' do
+
+ describe 'add' do
+
+ has_a_working_api
+ stub_request_and_response('custom-metadatum-collection')
+ stub_request_and_response('ilc-stock-plate-with-metadata')
+ stub_request_and_response('user')
+ stub_request_and_response('update-custom-metadatum-collection')
+
+ it 'adds metadata' do
+ request.env['HTTP_REFERER'] = illumina_c_plate_path('ilc-stock-plate-with-metadata-uuid')
+ put :update, id: "custom-metadatum-collection-uuid", "metadata"=>[{"key"=>"Key1", "value"=>""}, {"key"=>"Key1", "value"=>"Value1"}, {"key"=>"Key2", "value"=>"Value2"}, {"key"=>"Key3", "value"=>"Value3"}, {"key"=>"Key4", "value"=>"Value4"}],
+ "asset_id"=>"ilc-stock-plate-with-metadata-uuid"
+ expect(response).to redirect_to(illumina_c_plate_path('ilc-stock-plate-with-metadata-uuid'))
+ end
+
+ end
+
+ describe 'remove' do
+
+ has_a_working_api
+ stub_request_and_response('custom-metadatum-collection-2')
+ stub_request_and_response('ilc-stock-plate-with-metadata')
+ stub_request_and_response('user')
+ stub_request_and_response('update-custom-metadatum-collection-2')
+
+ it 'removes metadata' do
+ request.env['HTTP_REFERER'] = illumina_c_plate_path('ilc-stock-plate-with-metadata-uuid')
+ put :update, id: "custom-metadatum-collection-2-uuid", "metadata"=>[{"key"=>"Key1", "value"=>""}, {"key"=>"Key1", "value"=>"Value1"}, {"key"=>"Key3", "value"=>"Value3"}],
+ "asset_id"=>"ilc-stock-plate-with-metadata-uuid"
+ expect(response).to redirect_to(illumina_c_plate_path('ilc-stock-plate-with-metadata-uuid'))
+ end
+
+ end
+
+ describe 'update' do
+
+ has_a_working_api
+ stub_request_and_response('custom-metadatum-collection-3')
+ stub_request_and_response('ilc-stock-plate-with-metadata')
+ stub_request_and_response('user')
+ stub_request_and_response('update-custom-metadatum-collection-3')
+
+ it 'updates metadata' do
+ request.env['HTTP_REFERER'] = illumina_c_plate_path('ilc-stock-plate-with-metadata-uuid')
+ put :update, id: "custom-metadatum-collection-3-uuid", "metadata"=>[{"key"=>"Key1", "value"=>""}, {"key"=>"Key1", "value"=>"Value1"}, {"key"=>"Key2", "value"=>"Value4"}, {"key"=>"Key3", "value"=>"Value3"}],
+ "asset_id"=>"ilc-stock-plate-with-metadata-uuid"
+ expect(response).to redirect_to(illumina_c_plate_path('ilc-stock-plate-with-metadata-uuid'))
+ end
+
+ end
+ end
+end
diff --git a/spec/controllers/multiple_target_state_change_controller_spec.rb b/spec/controllers/multiple_target_state_change_controller_spec.rb
new file mode 100644
index 0000000..1eb321a
--- /dev/null
+++ b/spec/controllers/multiple_target_state_change_controller_spec.rb
@@ -0,0 +1,36 @@
+require 'rails_helper'
+require './app/controllers/multiple_target_state_change_controller'
+
+describe MultipleTargetStateChangeController, type: :controller do
+
+ describe "state change for multiple tubes" do
+
+ has_a_working_api
+ stub_request_and_response('multiplexed-library-tube-uuid')
+ stub_request_and_response('multiplexed-library-tube-2-uuid')
+ stub_request_and_response('state-change-tube-to-passed')
+ stub_request_and_response('state-change-tube-2-to-passed')
+
+ before(:each) do
+ Settings.purposes['ilc-lib-pool-norm-uuid']= {state_changer_class: 'StateChangers::DefaultStateChanger'}
+ end
+
+ it "creates state changes if tubes to pass were chosen" do
+ req = post :create, {tubes: {"multiplexed-library-tube-uuid" => "multiplexed-library-tube-ean13-barcode", "multiplexed-library-tube-2-uuid" => "multiplexed-library-tube-2-ean13-barcode"}}, user_uuid: "user-uuid", format: :json
+ expect(response).to redirect_to(search_path)
+ end
+
+ end
+
+ describe "state change if no tubes chosen" do
+
+ has_a_working_api
+
+ it "redirects to serch if no tubes were chosen" do
+ post :create, tubes: {}, format: :json
+ expect(response).to redirect_to(search_path)
+ end
+
+ end
+
+end
\ No newline at end of file
diff --git a/spec/controllers/search_controller_spec.rb b/spec/controllers/search_controller_spec.rb
new file mode 100644
index 0000000..983f3f9
--- /dev/null
+++ b/spec/controllers/search_controller_spec.rb
@@ -0,0 +1,21 @@
+require 'rails_helper'
+require './app/controllers/search_controller'
+
+describe SearchController, type: :controller do
+
+ describe 'POST' do
+ describe 'qcables' do
+
+ has_a_working_api
+ stub_request_and_response('find-qcable-by-barcode-uuid')
+ stub_request_and_response('post-to-find-qcable-by-barcode-uuid')
+
+ Settings.searches['Find qcable by barcode'] = 'find-qcable-by-barcode-uuid'
+
+ it 'redirects to the qcable page' do
+ post :qcables, qcable_barcode: "3980681751743", format: :json
+ expect(response).to redirect_to(tag_plate_path("tag2-qcable-uuid"))
+ end
+ end
+ end
+end
diff --git a/spec/controllers/tag_plates_controller_spec.rb b/spec/controllers/tag_plates_controller_spec.rb
new file mode 100644
index 0000000..eb95380
--- /dev/null
+++ b/spec/controllers/tag_plates_controller_spec.rb
@@ -0,0 +1,32 @@
+require 'rails_helper'
+require './app/controllers/tag_plates_controller'
+
+describe TagPlatesController, type: :controller do
+
+ let(:qcable_json) { JSON.parse(assigns(:qcable).to_json) }
+ let(:expected_json) {{
+ "asset_uuid" => "tag2-tube-uuid",
+ "lot_number" => "lot1",
+ "qcable_type" => "Tag 2 Tube",
+ "state" => "available",
+ "tag_layout" => "Tag 502 (ATAGAGGC)",
+ "template_uuid" => "tag-2-template-uuid",
+ "type" => "Tag 2 Tubes",
+ "uuid" => "tag2-qcable-uuid"
+ }}
+
+ describe "GET" do
+
+ has_a_working_api
+ stub_request_and_response('tag2-qcable-uuid')
+ stub_request_and_response('tag2-lot-uuid')
+ stub_request_and_response('lot-type-uuid')
+
+ it 'provides information about the tag plate' do
+ get :show, id: 'tag2-qcable-uuid', format: :json
+ expect(assigns(:qcable)).to be_a Presenters::QcablePresenter
+ expect(qcable_json).to eq(expected_json)
+ end
+ end
+
+end
diff --git a/spec/features/metadata_spec.rb b/spec/features/metadata_spec.rb
new file mode 100644
index 0000000..1f3a9d8
--- /dev/null
+++ b/spec/features/metadata_spec.rb
@@ -0,0 +1,111 @@
+require 'rails_helper'
+
+RSpec.describe "Show metadata in labware tab", type: :feature do
+
+ describe 'creates metadata if plate does not have one', js: :true do
+
+ has_a_working_api(5)
+ stub_request_and_response('find-user-by-swipecard-uuid')
+ stub_request_and_response('find-user-by-swipecard-first')
+ stub_request_and_response('find-assets-by-barcode-uuid')
+ stub_request_and_response('find-assets-by-barcode-first-ilc-stock-plate')
+ stub_request_and_response('ilc-stock-plate', 2)
+ stub_request_and_response('ilc-stock-plate-wells', 2)
+ stub_request_and_response('barcode-printers', 2)
+ stub_request_and_response('ilc-stock-plate-comments', 2)
+ stub_request_and_response('ilc-al-libs-uuid', 6)
+ stub_request_and_response('create-custom-metadatum-collection')
+
+ Settings.searches['Find user by swipecard code'] = 'find-user-by-swipecard-uuid'
+ Settings.searches['Find assets by barcode'] = 'find-assets-by-barcode-uuid'
+ Settings.purposes['ilc-stock-plate-purpose-uuid'] = {name: 'ILC Stock'}
+ Settings.purposes['ilc-stock-plate-purpose-uuid']= {presenter_class: 'Presenters::StockPlatePresenter'}
+ Settings.large_insert_limit = 250
+ Settings.request_types["Illumina-C Library Creation PCR"] = [ 'ILC AL Libs', true]
+ Settings.purpose_uuids['ILC AL Libs'] = 'ilc-al-libs-uuid'
+
+ it "creates new metadata and shows it on page", js: :true do
+
+ visit search_path
+ fill_in 'User Swipecard:', with: 'abcdef'
+ fill_in 'Plate or Tube Barcode:', :with => '1111111111111'
+ find('.plate-barcode').native.send_key(:Enter)
+
+ expect(page).to have_content('Plate')
+ expect(page).to have_content("Metadata")
+
+ click_link("Metadata")
+
+ within('.metadata') do
+ expect(all('div[id^=metadatum]').count).to eq 0
+ end
+
+ click_link("Add metadatum")
+ within('#metadatum1') do
+ #the element is visible but capybara does not see it (jquery mobile selectmenu() not run?)
+ select 'Key1', from: 'metadata__key__1', visible: false
+ fill_in "metadata__value", with: "Value1"
+ end
+ click_link("Add metadatum")
+ within('#metadatum2') do
+ select 'Key2', from: 'metadata__key__2', visible: false
+ fill_in "metadata__value", with: "Value2"
+ end
+ click_link("Add metadatum")
+ within('#metadatum3') do
+ select 'Key3', from: 'metadata__key__3', visible: false
+ fill_in "metadata__value", with: "Value3"
+ end
+
+ click_button "Save"
+ expect(page).to have_content("Metadata was added successfully")
+ expect(current_path).to eq illumina_c_plate_path('ilc-stock-plate-uuid')
+
+ end
+
+ end
+
+ describe "shows existing metadata", js: :true do
+ has_a_working_api(5)
+ stub_request_and_response('find-user-by-swipecard-uuid')
+ stub_request_and_response('find-user-by-swipecard-first')
+ stub_request_and_response('find-assets-by-barcode-uuid')
+ stub_request_and_response('find-assets-by-barcode-first-ilc-stock-plate-with-metadata')
+ stub_request_and_response('ilc-stock-plate-with-metadata', 3)
+ stub_request_and_response('ilc-stock-plate-with-metadata-wells', 2)
+ stub_request_and_response('barcode-printers', 2)
+ stub_request_and_response('ilc-stock-plate-with-metadata-comments', 2)
+ stub_request_and_response('ilc-al-libs-uuid', 6)
+ stub_request_and_response('custom-metadatum-collection-2', 3)
+ stub_request_and_response('update-custom-metadatum-collection-2')
+ stub_request_and_response('user')
+
+ it "shows existing metadata" do
+
+ visit search_path
+ fill_in 'User Swipecard:', with: 'abcdef'
+ fill_in 'Plate or Tube Barcode:', :with => '1111111111111'
+ find('.plate-barcode').native.send_key(:Enter)
+ expect(page).to have_content('Plate')
+ expect(page).to have_content("Metadata")
+
+ click_link("Metadata")
+ within('.metadata') do
+ expect(all('div[id^=metadatum]').count).to eq 3
+ end
+
+ within('#metadatum2') do
+ find(".remove_metadatum").click
+ end
+
+ within('.metadata') do
+ expect(all('div[id^=metadatum]').count).to eq 2
+ end
+
+ click_button "Save"
+ expect(page).to have_content("Metadata was updated successfully")
+ expect(current_path).to eq illumina_c_plate_path('ilc-stock-plate-with-metadata-uuid')
+ end
+ end
+
+end
diff --git a/spec/features/pass_all_tubes_spec.rb b/spec/features/pass_all_tubes_spec.rb
new file mode 100644
index 0000000..001c408
--- /dev/null
+++ b/spec/features/pass_all_tubes_spec.rb
@@ -0,0 +1,102 @@
+require 'rails_helper'
+
+RSpec.describe "Pass all tubes", type: :feature, js: true do
+
+ describe "user logged in" do
+
+ has_a_working_api(5)
+
+ stub_request_and_response('find-user-by-swipecard-uuid')
+ stub_request_and_response('find-user-by-swipecard-first')
+ stub_request_and_response('find-assets-by-barcode-uuid')
+ stub_request_and_response('find-assets-by-barcode-first')
+ stub_request_and_response('final-plate-uuid', 2)
+ stub_request_and_response('final-plate-wells')
+ stub_request_and_response('barcode-printers')
+ stub_request_and_response('final-plate-qc-files')
+ stub_request_and_response('ilc-al-libs-tagged-uuid')
+ stub_request_and_response('ilc-al-libs-tagged-children')
+ stub_request_and_response('final-plate-comments')
+
+ Settings.searches['Find user by swipecard code'] = 'find-user-by-swipecard-uuid'
+ Settings.searches['Find assets by barcode'] = 'find-assets-by-barcode-uuid'
+
+ describe "some tubes are not passed " do
+
+ stub_request_and_response('final-plate-transfers-to-tubes-all-pending-or-started')
+ stub_request_and_response('multiplexed-library-tube-uuid')
+ stub_request_and_response('multiplexed-library-tube-2-uuid')
+ stub_request_and_response('state-change-tube-to-passed')
+ stub_request_and_response('state-change-tube-2-to-passed')
+
+ before(:each) do
+ Settings.purposes['ilc-lib-pool-norm-uuid']= {state_changer_class: 'StateChangers::DefaultStateChanger'}
+ Settings.purposes['ilc-al-libs-tagged-uuid']= {presenter_class: 'Presenters::QCTaggedPresenter'}
+ Settings.purposes['ilc-qc-pool-uuid'] = {}
+ Settings.qc_purposes = ['ILC QC Pool']
+ end
+
+ it "allows to pass several tubes" do
+
+ visit search_path
+ fill_in 'User Swipecard:', with: 'abcdef'
+ fill_in 'Plate or Tube Barcode:', :with => '0123456789012'
+ find('.plate-barcode').native.send_key(:Enter)
+ expect(page).to have_content 'Pooled Plate'
+ expect(all('input[type=checkbox]').count).to eq 4
+ expect(all('input[type=checkbox]').any? {|el| el.disabled?}).to be false
+ expect(all('input[type=checkbox]').all? {|el| el.checked?}).to be true
+ all('input[type=checkbox]')[2].set(false)
+ all('input[type=checkbox]').last.set(false)
+ expect(all('input[type=checkbox]').last.checked?).to be false
+ expect(all('input[type=checkbox]')[2].checked?).to be false
+ click_button('Pass all tubes')
+ expect(page).to have_content "Labware: tube-1-ean13, tube-2-ean13 have been changed to a state of Passed"
+ end
+
+ end
+
+ describe "all tubes are passed " do
+
+ stub_request_and_response('final-plate-transfers-to-tubes-all-passed')
+
+ it "informs that there is nothing to pass" do
+
+ visit search_path
+ fill_in 'User Swipecard:', with: 'abcdef'
+ fill_in 'Plate or Tube Barcode:', :with => '0123456789012'
+ find('.plate-barcode').native.send_key(:Enter)
+ expect(page).to have_content 'Pooled Plate'
+ expect(all('input[type=checkbox]').count).to eq 4
+ expect(all('input[type=checkbox]').all? {|el| el.disabled?}).to be true
+ click_button('Pass all tubes')
+ expect(page).to have_content 'Nothing to pass'
+ end
+
+ end
+
+ end
+
+ describe "user didn't log in" do
+
+ has_a_working_api
+
+ stub_request_and_response('final-plate-uuid', 2)
+ stub_request_and_response('final-plate-wells')
+ stub_request_and_response('barcode-printers')
+ stub_request_and_response('final-plate-qc-files')
+ stub_request_and_response('ilc-al-libs-tagged-uuid')
+ stub_request_and_response('ilc-al-libs-tagged-children')
+ stub_request_and_response('final-plate-comments')
+ stub_request_and_response('final-plate-transfers-to-tubes-all-pending-or-started')
+
+ it "does not allow to pass all tubes" do
+ visit illumina_c_plate_path("final-plate-uuid")
+ expect(page).to have_content 'Pooled Plate'
+ Capybara.ignore_hidden_elements = false
+ expect(page).to have_button('Pass all tubes', disabled: true)
+ end
+
+ end
+
+end
diff --git a/spec/models/forms/tagging_form_spec.rb b/spec/models/forms/tagging_form_spec.rb
new file mode 100644
index 0000000..8103d89
--- /dev/null
+++ b/spec/models/forms/tagging_form_spec.rb
@@ -0,0 +1,314 @@
+require 'rails_helper'
+require './app/models/forms/tagging_form'
+
+describe Forms::TaggingForm do
+
+ has_a_working_api
+ # We retrieve the plate during initialization to set up the pools
+ stub_request_and_response('ilc-stock-plate')
+ # We retrieve the wells as part of this.
+ stub_request_and_response('ilc-stock-plate-wells')
+
+ let(:wells_in_column_order) { (1..12).map {|c| ('A'..'H').map {|r| "#{r}#{c}" }}.flatten }
+
+ context "On new" do
+ let(:tagging_form) {
+ Forms::TaggingForm.new(
+ :purpose_uuid=>"ilc-al-libs-tagged-uuid",
+ :parent_uuid=>"ilc-stock-plate-uuid",
+ :api => api
+ )
+ }
+
+ let(:purpose_config) { {} }
+
+ before(:each) do
+ Settings.purposes['ilc-al-libs-tagged-uuid']= purpose_config
+ end
+
+ # These values all describe the returned json.
+ # They are used to prevent magic numbers from appearing in the specs
+ let(:plate_size) { 96 }
+ let(:occupied_wells) { 30 }
+ let(:pool_size) { 15 }
+ let(:largest_tag_group) { 120 }
+
+ let(:maximum_tag_offset) { largest_tag_group - occupied_wells }
+ let(:maximum_well_offset) { plate_size - occupied_wells + 1 }
+
+ it 'can be created' do
+ expect(tagging_form).to be_a Forms::TaggingForm
+ end
+
+ context 'with purpose mocks' do
+ stub_request_and_response('ilc-al-libs-tagged-uuid')
+ it 'describes the child purpose' do
+ expect(tagging_form.child_purpose.name).to eq('ILC AL Libs Tagged')
+ end
+ end
+
+ it 'describes the parent barcode' do
+ expect(tagging_form.labware.barcode.ean13).to eq('1220427444877')
+ end
+
+ it 'describes the parent uuid' do
+ expect(tagging_form.parent_uuid).to eq('ilc-stock-plate-uuid')
+ end
+
+ it 'describes the purpose uuid' do
+ expect(tagging_form.purpose_uuid).to eq('ilc-al-libs-tagged-uuid')
+ end
+
+ context 'with tag groups available' do
+ stub_request_and_response('tag-groups')
+
+ context 'with no tag groups defined' do
+
+ it 'describes the available tag groups' do
+ expect(tagging_form.tag_groups_with_uuid).to eq([["Suitably big group", "tag-group-c-uuid"], ["Other big group", "tag-group-d-uuid"]])
+ end
+ it 'describes the tag_range' do
+ expect(tagging_form.tag_range).to eq((0..maximum_tag_offset).map {|i| [i+1,i] } )
+ end
+ it 'describes tags by name' do
+ expect(tagging_form.tags_by_name).to eq({"Suitably big group"=>(1..largest_tag_group).to_a,"Other big group"=>(1..largest_tag_group).to_a})
+ end
+ end
+
+ context 'with only some tag groups permitted' do
+
+ let(:purpose_config) { {'tag_layout_templates'=>"Suitably big group"} }
+
+ it 'only lists the acceptable tags' do
+ expect(tagging_form.tag_groups_with_uuid).to eq([["Suitably big group", "tag-group-c-uuid"]])
+ end
+ end
+ end
+
+ context 'with no tag_per_well defined' do
+ it 'returns [1] for available_tags_per_well' do
+ expect(tagging_form.available_tags_per_well).to eq([1])
+ end
+ it "returns the default array for available_walking_by" do
+ expect(tagging_form.available_walking_by).to eq([["By Plate [Sequential Numbering]","manual by plate"],
+ ["By Pool","manual by pool"],
+ ["By Plate [Fixed numbering]","wells of plate"]])
+ end
+ end
+
+ context 'with tags_per_well defined' do
+ let(:purpose_config) { {'tags_per_well'=>[4], 'walking_by' => ['as group by plate'] } }
+ it 'returns [4] for available_tags_per_well' do
+ expect(tagging_form.available_tags_per_well).to eq([4])
+ end
+ it "returns ['Apply multiple tags','as group by plate'] for available_walking_by" do
+ expect(tagging_form.available_walking_by).to eq([['Apply multiple tags','as group by plate']])
+ end
+ end
+
+ it 'describes wells by column' do
+ expect(tagging_form.wells_by_column_mapping).to eq([[0, "passed", "pool-1-uuid"], [1, "passed", "pool-1-uuid"], [2, "passed", "pool-1-uuid"], [3, "passed", "pool-1-uuid"], [4, "passed", "pool-1-uuid"], [5, "passed", "pool-1-uuid"], [6, "passed", "pool-1-uuid"], [7, "passed", "pool-1-uuid"], [8, "passed", "pool-1-uuid"], [9, "passed", "pool-1-uuid"], [10, "passed", "pool-1-uuid"], [11, "passed", "pool-1-uuid"], [12, "passed", "pool-1-uuid"], [13, "passed", "pool-1-uuid"], [14, "passed", "pool-1-uuid"], [15, "passed", "pool-2-uuid"], [16, "passed", "pool-2-uuid"], [17, "passed", "pool-2-uuid"], [18, "passed", "pool-2-uuid"], [19, "passed", "pool-2-uuid"], [20, "passed", "pool-2-uuid"], [21, "passed", "pool-2-uuid"], [22, "passed", "pool-2-uuid"], [23, "passed", "pool-2-uuid"], [24, "passed", "pool-2-uuid"], [25, "passed", "pool-2-uuid"], [26, "passed", "pool-2-uuid"], [27, "passed", "pool-2-uuid"], [28, "passed", "pool-2-uuid"], [29, "passed", "pool-2-uuid"]])
+ end
+ it 'describes wells by row' do
+ expect(tagging_form.wells_by_row_mapping).to eq([[0, "passed", "pool-1-uuid"], [1, "passed", "pool-1-uuid"], [2, "passed", "pool-2-uuid"], [3, "passed", "pool-2-uuid"], [12, "passed", "pool-1-uuid"], [13, "passed", "pool-1-uuid"], [14, "passed", "pool-2-uuid"], [15, "passed", "pool-2-uuid"], [24, "passed", "pool-1-uuid"], [25, "passed", "pool-1-uuid"], [26, "passed", "pool-2-uuid"], [27, "passed", "pool-2-uuid"], [36, "passed", "pool-1-uuid"], [37, "passed", "pool-1-uuid"], [38, "passed", "pool-2-uuid"], [39, "passed", "pool-2-uuid"], [48, "passed", "pool-1-uuid"], [49, "passed", "pool-1-uuid"], [50, "passed", "pool-2-uuid"], [51, "passed", "pool-2-uuid"], [60, "passed", "pool-1-uuid"], [61, "passed", "pool-1-uuid"], [62, "passed", "pool-2-uuid"], [63, "passed", "pool-2-uuid"], [72, "passed", "pool-1-uuid"], [73, "passed", "pool-1-uuid"], [74, "passed", "pool-2-uuid"], [84, "passed", "pool-1-uuid"], [85, "passed", "pool-2-uuid"], [86, "passed", "pool-2-uuid"]])
+ end
+
+ it 'describes the offsets' do
+ expect(tagging_form.offsets).to eq(wells_in_column_order.slice(0,maximum_well_offset).each_with_index.map {|w,i| [w,i]} )
+ end
+
+ context 'when a submission is split over multiple plates' do
+
+ stub_request_from("retrieve-ilc-stock-plate-submission-pools") { response('ilc-stock-plate-submission-pools-dual') }
+
+ it 'requires tag2' do
+ expect(tagging_form.requires_tag2?).to be true
+ end
+
+ context 'with advertised tag2 templates' do
+
+ stub_request_and_response('tag2-layout-templates')
+
+ it 'describes only the unused tube' do
+ expect(tagging_form.tag2s.keys).to eq(['unused-tag2-template-uuid'])
+ expect(tagging_form.tag2_names).to eq(['Unused template'])
+ end
+ end
+ end
+
+ context 'when a submission is not split over multiple plates' do
+
+ stub_request_from("retrieve-ilc-stock-plate-submission-pools") { response('ilc-stock-plate-submission-pools-single') }
+
+ it 'does not require tag2' do
+ expect(tagging_form.requires_tag2?).to be false
+ end
+
+ end
+
+ end
+
+ context "On create" do
+ context "With no tag 2" do
+
+ let(:tagging_form) {
+ Forms::TaggingForm.new(
+ :purpose_uuid=>"ilc-al-libs-tagged-uuid",
+ :parent_uuid=>"ilc-stock-plate-uuid",
+ :tag_group_uuid=>"tag-group-uuid",
+ :walking_by=>"manual by plate",
+ :direction=>"column",
+ :offset=>"0",
+ :tag_start=>"1",
+ :api => api,
+ :user_uuid => "user-uuid",
+ :tags_per_well=>"1"
+ )
+ }
+
+ it 'can be created' do
+ expect(tagging_form).to be_a Forms::TaggingForm
+ end
+
+ it 'renders the "tagging" page' do
+ controller = CreationController.new
+ expect(controller).to receive(:render).with('tagging')
+ tagging_form.render(controller)
+ end
+
+ context 'on save!' do
+ # Create the al-libs-tagged plate
+ stub_request_and_response('plate-creation-ilc-al-libs-tagged')
+ # Fetch the custom transfer template
+ stub_request_and_response('custom-plate-transfer-template')
+ # Then create a new transfer using it
+ stub_request_and_response('custom-plate-transfer-to-ilc-al-libs-tagged')
+ # Apply the tag-group to the whole plate with no offset, starting at 1.
+ stub_request_and_response('tag-layout-creation-a')
+
+ Settings.transfer_templates['Custom pooling'] = 'custom-plate-transfer-template-uuid'
+
+ it 'creates a tag plate' do
+ tagging_form.save!
+ end
+
+ it 'has the correct child (and uuid)' do
+ tagging_form.save!
+ expect(tagging_form.child.uuid).to eq('ilc-al-libs-tagged-plate-uuid')
+ end
+ end
+ end
+
+ context "With multiple tags per well" do
+
+ let(:tagging_form) {
+ Forms::TaggingForm.new(
+ :purpose_uuid=>"ilc-al-libs-tagged-uuid",
+ :parent_uuid=>"ilc-stock-plate-uuid",
+ :tag_group_uuid=>"tag-group-uuid",
+ :walking_by=>"manual by plate",
+ :direction=>"column",
+ :offset=>"0",
+ :tag_start=>"1",
+ :api => api,
+ :user_uuid => "user-uuid",
+ :tags_per_well=>"4"
+ )
+ }
+
+ it 'can be created' do
+ expect(tagging_form).to be_a Forms::TaggingForm
+ end
+
+ it 'renders the "tagging" page' do
+ controller = CreationController.new
+ expect(controller).to receive(:render).with('tagging')
+ tagging_form.render(controller)
+ end
+
+ context 'on save!' do
+ # Create the al-libs-tagged plate
+ stub_request_and_response('plate-creation-ilc-al-libs-tagged')
+ # Fetch the custom transfer template
+ stub_request_and_response('custom-plate-transfer-template')
+ # Then create a new transfer using it
+ stub_request_and_response('custom-plate-transfer-to-ilc-al-libs-tagged')
+ # Apply the tag-group to the whole plate with no offset, starting at 1, 4 tags per well
+ stub_request_and_response('tag-layout-creation-b')
+
+ it 'creates a tag plate' do
+ tagging_form.save!
+ end
+
+ it 'has the correct child (and uuid)' do
+ tagging_form.save!
+ expect(tagging_form.child.uuid).to eq('ilc-al-libs-tagged-plate-uuid')
+ end
+ end
+ end
+
+ context "With tag 2" do
+
+ let(:tagging_form) {
+ Forms::TaggingForm.new(
+ :purpose_uuid=>"ilc-al-libs-tagged-uuid",
+ :parent_uuid=>"ilc-stock-plate-uuid",
+ :tag_group_uuid=>"tag-group-uuid",
+ :walking_by=>"manual by plate",
+ :direction=>"column",
+ :offset=>"0",
+ :tag_start=>"1",
+ :api => api,
+ :user_uuid => "user-uuid",
+ :tag2_tube_barcode => "tag2-tube-barcode",
+ :tag2_tube => { :asset_uuid => "tag-2-tube-uuid", :template_uuid => "tag-2-template-uuid" },
+ :tags_per_well=>"1"
+ )
+ }
+
+ # We retrieve the plate during initialization to set up the pools
+ stub_request_and_response('ilc-stock-plate')
+ # We retrieve the wells as part of this.
+ stub_request_and_response('ilc-stock-plate-wells')
+
+ it 'can be created' do
+ expect(tagging_form).to be_a Forms::TaggingForm
+ end
+
+ it 'renders the "tagging" page' do
+ controller = CreationController.new
+ expect(controller).to receive(:render).with('tagging')
+ tagging_form.render(controller)
+ end
+
+ context 'on save!' do
+ # Create the al-libs-tagged plate
+ stub_request_and_response('plate-creation-ilc-al-libs-tagged')
+ # Fetch the custom transfer template
+ stub_request_and_response('custom-plate-transfer-template')
+ # Then create a new transfer using it
+ stub_request_and_response('custom-plate-transfer-to-ilc-al-libs-tagged')
+ # Apply the tag-group to the whole plate with no offset, starting at 1.
+ stub_request_and_response('tag-layout-creation-a')
+
+ # Then do the tag 2 specific stuff
+
+ # Flags the tag 2 tube as exhausted
+ stub_request_and_response('state-change-tag-2-tube-to-exhausted')
+ # Retrieves tag 2 template
+ stub_request_and_response('tag-2-template-uuid')
+ # Applies the tag 2 template
+ stub_request_and_response('tag-2-template-layout-creation-a')
+
+ it 'creates a tag plate' do
+ tagging_form.save!
+ end
+
+ it 'has the correct child (and uuid)' do
+ tagging_form.save!
+ expect(tagging_form.child.uuid).to eq('ilc-al-libs-tagged-plate-uuid')
+ end
+ end
+ end
+ end
+end
diff --git a/spec/rails_helper.rb b/spec/rails_helper.rb
new file mode 100644
index 0000000..f47a043
--- /dev/null
+++ b/spec/rails_helper.rb
@@ -0,0 +1,58 @@
+# This file is copied to spec/ when you run 'rails generate rspec:install'
+ENV['RAILS_ENV'] ||= 'test'
+require File.expand_path('../../config/environment', __FILE__)
+# Prevent database truncation if the environment is production
+abort("The Rails environment is running in production mode!") if Rails.env.production?
+require 'spec_helper'
+require 'rspec/rails'
+require 'capybara/poltergeist'
+# Add additional requires below this line. Rails is not loaded until this point!
+
+# Requires supporting ruby files with custom matchers and macros, etc, in
+# spec/support/ and its subdirectories. Files matching `spec/**/*_spec.rb` are
+# run as spec files by default. This means that files in spec/support that end
+# in _spec.rb will both be required and run as specs, causing the specs to be
+# run twice. It is recommended that you do not name files matching this glob to
+# end with _spec.rb. You can configure this pattern with the --pattern
+# option on the command line or in ~/.rspec, .rspec or `.rspec-local`.
+#
+# The following line is provided for convenience purposes. It has the downside
+# of increasing the boot-up time by auto-requiring all files in the support
+# directory. Alternatively, in the individual `*_spec.rb` files, manually
+# require only the support files necessary.
+#
+# Dir[Rails.root.join('spec/support/**/*.rb')].each { |f| require f }
+
+RSpec.configure do |config|
+ # RSpec Rails can automatically mix in different behaviours to your tests
+ # based on their file location, for example enabling you to call `get` and
+ # `post` in specs under `spec/controllers`.
+ #
+ # You can disable this behaviour by removing the line below, and instead
+ # explicitly tag your specs with their type, e.g.:
+ #
+ # RSpec.describe UsersController, :type => :controller do
+ # # ...
+ # end
+ #
+ # The different available types are documented in the features, such as in
+ # https://relishapp.com/rspec/rspec-rails/docs
+ config.infer_spec_type_from_file_location!
+
+ # Filter lines from Rails gems in backtraces.
+ config.filter_rails_from_backtrace!
+ # arbitrary gems may also be filtered via:
+ # config.filter_gems_from_backtrace("gem name")
+
+ config.include Capybara::DSL
+
+ Capybara.javascript_driver = :poltergeist
+
+ config.before do
+ WebMock.disable_net_connect!(allow_localhost: true)
+ end
+
+ config.after(:each) do
+ Capybara.reset_sessions!
+ end
+end
diff --git a/spec/spec_helper.rb b/spec/spec_helper.rb
new file mode 100644
index 0000000..8177d75
--- /dev/null
+++ b/spec/spec_helper.rb
@@ -0,0 +1,101 @@
+# This file was generated by the `rails generate rspec:install` command. Conventionally, all
+# specs live under a `spec` directory, which RSpec adds to the `$LOAD_PATH`.
+# The generated `.rspec` file contains `--require spec_helper` which will cause
+# this file to always be loaded, without a need to explicitly require it in any
+# files.
+#
+# Given that it is always loaded, you are encouraged to keep this file as
+# light-weight as possible. Requiring heavyweight dependencies from this file
+# will add to the boot time of your test suite on EVERY test run, even for an
+# individual file that may not need all of that loaded. Instead, consider making
+# a separate helper file that requires the additional dependencies and performs
+# the additional setup, and require it from the spec files that actually need
+# it.
+#
+# The `.rspec` file also contains a few flags that are not defaults but that
+# users commonly want.
+
+require './spec/support/contract_helper'
+#
+# See http://rubydoc.info/gems/rspec-core/RSpec/Core/Configuration
+RSpec.configure do |config|
+ # rspec-expectations config goes here. You can use an alternate
+ # assertion/expectation library such as wrong or the stdlib/minitest
+ # assertions if you prefer.
+ config.expect_with :rspec do |expectations|
+ # This option will default to `true` in RSpec 4. It makes the `description`
+ # and `failure_message` of custom matchers include text for helper methods
+ # defined using `chain`, e.g.:
+ # be_bigger_than(2).and_smaller_than(4).description
+ # # => "be bigger than 2 and smaller than 4"
+ # ...rather than:
+ # # => "be bigger than 2"
+ expectations.include_chain_clauses_in_custom_matcher_descriptions = true
+ end
+
+ # rspec-mocks config goes here. You can use an alternate test double
+ # library (such as bogus or mocha) by changing the `mock_with` option here.
+ config.mock_with :rspec do |mocks|
+ # Prevents you from mocking or stubbing a method that does not exist on
+ # a real object. This is generally recommended, and will default to
+ # `true` in RSpec 4.
+ mocks.verify_partial_doubles = true
+ end
+
+ # This option will default to `:apply_to_host_groups` in RSpec 4 (and will
+ # have no way to turn it off -- the option exists only for backwards
+ # compatibility in RSpec 3). It causes shared context metadata to be
+ # inherited by the metadata hash of host groups and examples, rather than
+ # triggering implicit auto-inclusion in groups with matching metadata.
+ config.shared_context_metadata_behavior = :apply_to_host_groups
+
+# The settings below are suggested to provide a good initial experience
+# with RSpec, but feel free to customize to your heart's content.
+=begin
+ # This allows you to limit a spec run to individual examples or groups
+ # you care about by tagging them with `:focus` metadata. When nothing
+ # is tagged with `:focus`, all examples get run. RSpec also provides
+ # aliases for `it`, `describe`, and `context` that include `:focus`
+ # metadata: `fit`, `fdescribe` and `fcontext`, respectively.
+ config.filter_run_when_matching :focus
+
+ # Allows RSpec to persist some state between runs in order to support
+ # the `--only-failures` and `--next-failure` CLI options. We recommend
+ # you configure your source control system to ignore this file.
+ config.example_status_persistence_file_path = "spec/examples.txt"
+
+ # Limits the available syntax to the non-monkey patched syntax that is
+ # recommended. For more details, see:
+ # - http://rspec.info/blog/2012/06/rspecs-new-expectation-syntax/
+ # - http://www.teaisaweso.me/blog/2013/05/27/rspecs-new-message-expectation-syntax/
+ # - http://rspec.info/blog/2014/05/notable-changes-in-rspec-3/#zero-monkey-patching-mode
+ config.disable_monkey_patching!
+
+ # Many RSpec users commonly either run the entire suite or an individual
+ # file, and it's useful to allow more verbose output when running an
+ # individual spec file.
+ if config.files_to_run.one?
+ # Use the documentation formatter for detailed output,
+ # unless a formatter has already been configured
+ # (e.g. via a command-line flag).
+ config.default_formatter = 'doc'
+ end
+
+ # Print the 10 slowest examples and example groups at the
+ # end of the spec run, to help surface which specs are running
+ # particularly slow.
+ config.profile_examples = 10
+
+ # Run specs in random order to surface order dependencies. If you find an
+ # order dependency and want to debug it, you can fix the order by providing
+ # the seed, which is printed after each run.
+ # --seed 1234
+ config.order = :random
+
+ # Seed global randomization in this process using the `--seed` CLI option.
+ # Setting this allows you to use `--seed` to deterministically reproduce
+ # test failures related to randomization by passing the same `--seed` value
+ # as the one that triggered the failure.
+ Kernel.srand config.seed
+=end
+end
diff --git a/spec/support/contract_helper.rb b/spec/support/contract_helper.rb
new file mode 100644
index 0000000..3be73ce
--- /dev/null
+++ b/spec/support/contract_helper.rb
@@ -0,0 +1,102 @@
+# Fake the web connections so we don't trash anything
+require 'webmock/rspec'
+
+module ContractHelper
+ class StubRequestBuilder
+ include WebMock::API
+ include WebMock::Matchers
+
+ def initialize(root_directory)
+ @root = File.split(File.expand_path(root_directory))
+ end
+
+ REQUEST_REGEXP = %r{
+ (?
\r\n|\r|\n){0}
+ (? GET|PUT|POST|DELETE){0}
+ (? /[^\s]*){0}
+ (? .+){0}
+ (? [^:\r\n]+:[^\r\n]+){0}
+ (? \g(\g\g)*){0}
+
+ \g\s+\g\s+HTTP/1.1\g
+ \g\g
+ (\g\g?)?
+ }mx
+
+ def request(contract_name)
+ contract(contract_name) do |file|
+ match = REQUEST_REGEXP.match(file.read) or raise StandardError, "Invalidly formatted request in #{contract_name.inspect}"
+
+ @http_verb, @url = match[:verb].downcase.to_sym, "http://localhost:3000#{match[:path]}"
+ @conditions = {}
+ @conditions[:headers] = Hash[*match[:headers].split(/\r?\n/).map { |l| l.split(':') }.flatten.map(&:strip)]
+ @conditions[:body] = Yajl::Encoder.encode(Yajl::Parser.parse(match[:body])) unless match[:body].blank?
+ end
+ end
+
+ def response(contract_name, num=1)
+ contract(contract_name) do |file|
+ @num = num
+ @content = file.read
+ end
+ end
+
+ def contract(contract_name, &block)
+ path = @root.dup
+ until path.empty?
+ filename = File.join(path, 'contracts', "#{contract_name}.txt")
+ return File.open(filename, 'r') { |file| yield(file) } if File.file?(filename)
+ path.pop
+ end
+ raise StandardError, "Cannot find contract #{filename.inspect} anywhere within #{@root.inspect}"
+ end
+ private :contract
+
+ def setup_request_and_response_mock
+ stub_request(@http_verb, @url).with(@conditions).to_return(@content)
+ end
+ private :setup_request_and_response_mock
+
+ def validate_request_and_response_called(scope)
+ scope.expect(a_request(@http_verb, @url).with(@conditions)).to have_been_made.times(@num)
+ end
+ private :validate_request_and_response_called
+
+ def inject_into(spec)
+ builder = self
+ spec.before(:each) { builder.send(:setup_request_and_response_mock) }
+ spec.after(:each) { builder.send(:validate_request_and_response_called,self) }
+ end
+ end
+
+ def self.included(base)
+ base.extend(ClassMethods)
+ end
+
+ module ClassMethods
+ def stub_request_from(request_filename, &block)
+ stubbed_request = StubRequestBuilder.new(File.join(File.dirname(__FILE__), %w{.. contracts}))
+ stubbed_request.request(request_filename)
+ stubbed_request.instance_eval(&block)
+ stubbed_request.inject_into(self)
+ end
+
+ def stub_request_and_response(contract_name, num=1)
+ stub_request_from("retrieve-#{contract_name}") { response(contract_name, num) }
+ end
+
+ def has_a_working_api(num=1)
+ stub_request_from('retrieve-api-root') { response('api-root', num) }
+ let(:api) do
+ Sequencescape::Api.new(
+ :url => 'http://localhost:3000/', :cookie => nil,
+ :namespace => IlluminaC, :authorisation => 'testing'
+ )
+ end
+ end
+ end
+end
+
+RSpec.configure do |config|
+ config.include ContractHelper
+end
diff --git a/spec/support/presenter_helper.rb b/spec/support/presenter_helper.rb
new file mode 100644
index 0000000..e69de29
diff --git a/test/test_helper.rb b/test/test_helper.rb
index 8bf1192..b6836c0 100644
--- a/test/test_helper.rb
+++ b/test/test_helper.rb
@@ -7,7 +7,7 @@ class ActiveSupport::TestCase
#
# Note: You'll currently still have to declare fixtures explicitly in integration tests
# -- they do not yet inherit this setting
- fixtures :all
+ # fixtures :all
# Add more helper methods to be used by all tests here...
end