merlin.specs

merlin.specs.exist(ubids, specs)[source]

Checks that all ubids are in the specs

Parameters:
  • ubids (seq) – [ubid1, ubid2, ubid3, …]
  • specs (seq) – [{spec1}, {spec2}, {spec3}]
Returns:

True or False

Return type:

bool

merlin.specs.index(specs)[source]

Organizes specs by ubid

Parameters:specs (sequence) – a sequence of chip specs
Returns:specs keyed by ubid
Return type:dict
merlin.specs.mapped(ubids, specs)[source]

Organizes specs by key.

Parameters:
  • ubids (dict) – {‘reds’: [‘ubid1’, ‘ubid2’], ‘greens’: [‘ubid3’, ‘ubid4’]}
  • specs (seq) – [{spec1}, {spec2}, {spec3}, {spec4}]
Returns:

dict

Example

>>> {'reds':   [spec1, spec2],
     'greens': [spec3, spec4]}
merlin.specs.only(ubids, specs)[source]

Filter specs on ubids.

Parameters:
  • ubids (seq) – [ubid1, ubid3]
  • specs (seq) – [{spec1}, {spec2}, {spec3}, …})
Returns:

[{spec1}, {spec3}]

Return type:

tuple

merlin.specs.refspec(specmap)[source]

Returns the first chip spec from the first key to use as a reference.

Parameters:specmap – {key: [specs]}
Returns:spec
Return type:dict
merlin.specs.ubids(specs)[source]

Extract ubids from a sequence of specs

Parameters:specs (sequence) – a sequence of spec dicts
Returns:a sequence of ubids
Return type:tuple