PyLabRobot
Visão Geral
PyLabRobot é um Software Development Kit Python puro agnóstico quanto ao hardware para laboratórios automatizados e autônomos. Use essa habilidade para controlar robôs manipuladores de líquidos, leitores de placas, bombas, agitadores com aquecimento, incubadoras, centrífugas e outros equipamentos de automação laboratorial através de uma interface Python unificada que funciona em diferentes plataformas (Windows, macOS, Linux).
Quando Usar Essa Habilidade
Use essa habilidade quando:
- Programar robôs manipuladores de líquidos (Hamilton STAR/STARlet, Opentrons OT-2, Tecan EVO)
- Automatizar fluxos de trabalho laboratoriais envolvendo pipetagem, preparação de amostras ou medições analíticas
- Gerenciar layouts de plataforma e recursos laboratoriais (placas, ponteiras, containers, calhas)
- Integrar múltiplos dispositivos de laboratório (manipuladores de líquidos, leitores de placas, agitadores com aquecimento, bombas)
- Criar protocolos laboratoriais reproduzíveis com gerenciamento de estado
- Simular protocolos antes de executar em hardware físico
- Ler placas usando BMG CLARIOstar ou outros leitores de placas suportados
- Controlar temperatura, agitação, centrifugação ou outras operações de manipulação de materiais
- Trabalhar com automação laboratorial em Python
Capacidades Principais
PyLabRobot oferece automação laboratorial abrangente através de seis áreas de capacidade principais, cada uma detalhada no diretório references/:
1. Manipulação de Líquidos (references/liquid-handling.md)
Controle robôs manipuladores de líquidos para aspirar, dispensar e transferir líquidos. As operações principais incluem:
- Operações Básicas: Aspirar, dispensar, transferir líquidos entre poços
- Gerenciamento de Ponteiras: Apanhar, descartar e rastrear ponteiras de pipeta automaticamente
- Técnicas Avançadas: Pipetagem multi-canal, diluições seriadas, replicação de placas
- Rastreamento de Volume: Rastreamento automático de volumes de líquido em poços
- Suporte a Hardware: Hamilton STAR/STARlet, Opentrons OT-2, Tecan EVO e outros
2. Gerenciamento de Recursos (references/resources.md)
Gerencie recursos laboratoriais em um sistema hierárquico:
- Tipos de Recursos: Placas, racks de ponteiras, calhas, tubos, carriers e labware customizado
- Layout de Plataforma: Atribua recursos a posições da plataforma com sistemas de coordenadas
- Gerenciamento de Estado: Rastreie presença de ponteiras, volumes de líquido e estados de recursos
- Serialização: Salve e carregue layouts de plataforma e estados de arquivos JSON
- Descoberta de Recursos: Acesse poços, ponteiras e containers através de APIs intuitivas
3. Backends de Hardware (references/hardware-backends.md)
Conecte-se a equipamentos laboratoriais diversos através de abstração de backend:
- Manipuladores de Líquidos: Hamilton STAR (suporte completo), Opentrons OT-2, Tecan EVO
- Simulação: ChatterboxBackend para teste de protocolos sem hardware
- Suporte de Plataforma: Funciona em Windows, macOS, Linux e Raspberry Pi
- Alternância de Backend: Altere robôs trocando backend sem reescrever protocolos
4. Equipamentos Analíticos (references/analytical-equipment.md)
Integre leitores de placas e instrumentos analíticos:
- Leitores de Placas: BMG CLARIOstar para absorbância, luminescência, fluorescência
- Balanças: Integração com Mettler Toledo para medições de massa
- Padrões de Integração: Combine manipuladores de líquidos com equipamentos analíticos
- Fluxos de Trabalho Automatizados: Mova placas entre dispositivos automaticamente
5. Manipulação de Materiais (references/material-handling.md)
Controle equipamentos de manipulação de materiais e ambientais:
- Agitadores com Aquecimento: Hamilton HeaterShaker, Inheco ThermoShake
- Incubadoras: Incubadoras Inheco e Thermo Fisher com controle de temperatura
- Centrífugas: Agilent VSpin com posicionamento de balde e controle de rotação
- Bombas: Cole Parmer Masterflex para operações de bombeamento de fluidos
- Controle de Temperatura: Configure e monitore temperaturas durante protocolos
6. Visualização & Simulação (references/visualization.md)
Visualize e simule protocolos laboratoriais:
- Visualizador em Navegador: Visualização 3D em tempo real do estado da plataforma
- Modo Simulação: Teste protocolos sem hardware físico
- Rastreamento de Estado: Monitore presença de ponteiras e volumes de líquido visualmente
- Editor de Plataforma: Ferramenta gráfica para projetar layouts de plataforma
- Validação de Protocolo: Verifique protocolos antes de executar em hardware
Início Rápido
Para começar com PyLabRobot, instale o pacote e inicialize um manipulador de líquidos:
# Instale PyLabRobot
# uv pip install pylabrobot
# Configuração básica de manipulação de líquidos
from pylabrobot.liquid_handling import LiquidHandler
from pylabrobot.liquid_handling.backends import STAR
from pylabrobot.resources import STARLetDeck
# Inicialize manipulador de líquidos
lh = LiquidHandler(backend=STAR(), deck=STARLetDeck())
await lh.setup()
# Operações básicas
await lh.pick_up_tips(tip_rack["A1:H1"])
await lh.aspirate(plate["A1"], vols=100)
await lh.dispense(plate["A2"], vols=100)
await lh.drop_tips()
Trabalhando com Referências
Essa habilidade organiza informações detalhadas em múltiplos arquivos de referência. Carregue a referência relevante quando:
- Manipulação de Líquidos: Escrever protocolos de pipetagem, gerenciamento de ponteiras, transferências
- Recursos: Definir layouts de plataforma, gerenciar placas/ponteiras, labware customizado
- Backends de Hardware: Conectar a robôs específicos, alternar plataformas
- Equipamentos Analíticos: Integrar leitores de placas, balanças ou dispositivos analíticos
- Manipulação de Materiais: Usar agitadores com aquecimento, incubadoras, centrífugas, bombas
- Visualização: Simular protocolos, visualizar estados da plataforma
Todos os arquivos de referência podem ser encontrados no diretório references/ e contêm exemplos abrangentes, padrões de uso de API e melhores práticas.
Melhores Práticas
Ao criar protocolos de automação laboratorial com PyLabRobot:
- Comece com Simulação: Use ChatterboxBackend e o visualizador para testar protocolos antes de executar em hardware
- Ative Rastreamento: Ative rastreamento de ponteiras e rastreamento de volume para gerenciamento preciso de estado
- Nomenclatura de Recursos: Use nomes claros e descritivos para todos os recursos (placas, racks de ponteiras, containers)
- Serialização de Estado: Salve layouts de plataforma e estados em JSON para reproduzibilidade
- Tratamento de Erros: Implemente tratamento apropriado de erros assíncronos para operações de hardware
- Controle de Temperatura: Configure temperaturas cedo pois aquecimento/resfriamento leva tempo
- Protocolos Modulares: Divida fluxos de trabalho complexos em funções reutilizáveis
- Documentação: Consulte docs oficiais em https://docs.pylabrobot.org para recursos mais recentes
Fluxos de Trabalho Comuns
Protocolo de Transferência de Líquido
# Configuração
lh = LiquidHandler(backend=STAR(), deck=STARLetDeck())
await lh.setup()
# Defina recursos
tip_rack = TIP_CAR_480_A00(name="tip_rack")
source_plate = Cos_96_DW_1mL(name="source")
dest_plate = Cos_96_DW_1mL(name="dest")
lh.deck.assign_child_resource(tip_rack, rails=1)
lh.deck.assign_child_resource(source_plate, rails=10)
lh.deck.assign_child_resource(dest_plate, rails=15)
# Protocolo de transferência
await lh.pick_up_tips(tip_rack["A1:H1"])
await lh.transfer(source_plate["A1:H12"], dest_plate["A1:H12"], vols=100)
await lh.drop_tips()
Fluxo de Trabalho de Leitura de Placa
# Configure leitor de placa
from pylabrobot.plate_reading import PlateReader
from pylabrobot.plate_reading.clario_star_backend import CLARIOstarBackend
pr = PlateReader(name="CLARIOstar", backend=CLARIOstarBackend())
await pr.setup()
# Configure temperatura e leia
await pr.set_temperature(37)
await pr.open()
# (carregue placa manualmente ou roboticamente)
await pr.close()
data = await pr.read_absorbance(wavelength=450)
Recursos Adicionais
Para uso detalhado de capacidades específicas, consulte o arquivo de referência correspondente no diretório references/.
1---2name: pylabrobot3description: Kit de ferramentas de automação laboratorial para controlar manipuladores de líquidos, leitores de placas, bombas, agitadores com aquecimento, incubadoras, centrífugas e equipamentos analíticos. Use essa habilidade ao automatizar fluxos de trabalho laboratoriais, programar robôs manipuladores de líquidos (Hamilton STAR, Opentrons OT-2, Tecan EVO), integrar equipamentos de laboratório, gerenciar layouts de plataforma e recursos (placas, ponteiras, containers), ler placas ou criar protocolos laboratoriais reproduzíveis. Aplicável para protocolos simulados e controle de hardware físico.4---56# PyLabRobot78## Visão Geral910PyLabRobot é um Software Development Kit Python puro agnóstico quanto ao hardware para laboratórios automatizados e autônomos. Use essa habilidade para controlar robôs manipuladores de líquidos, leitores de placas, bombas, agitadores com aquecimento, incubadoras, centrífugas e outros equipamentos de automação laboratorial através de uma interface Python unificada que funciona em diferentes plataformas (Windows, macOS, Linux).1112## Quando Usar Essa Habilidade1314Use essa habilidade quando:15- Programar robôs manipuladores de líquidos (Hamilton STAR/STARlet, Opentrons OT-2, Tecan EVO)16- Automatizar fluxos de trabalho laboratoriais envolvendo pipetagem, preparação de amostras ou medições analíticas17- Gerenciar layouts de plataforma e recursos laboratoriais (placas, ponteiras, containers, calhas)18- Integrar múltiplos dispositivos de laboratório (manipuladores de líquidos, leitores de placas, agitadores com aquecimento, bombas)19- Criar protocolos laboratoriais reproduzíveis com gerenciamento de estado20- Simular protocolos antes de executar em hardware físico21- Ler placas usando BMG CLARIOstar ou outros leitores de placas suportados22- Controlar temperatura, agitação, centrifugação ou outras operações de manipulação de materiais23- Trabalhar com automação laboratorial em Python2425## Capacidades Principais2627PyLabRobot oferece automação laboratorial abrangente através de seis áreas de capacidade principais, cada uma detalhada no diretório references/:2829### 1. Manipulação de Líquidos (`references/liquid-handling.md`)3031Controle robôs manipuladores de líquidos para aspirar, dispensar e transferir líquidos. As operações principais incluem:32- **Operações Básicas**: Aspirar, dispensar, transferir líquidos entre poços33- **Gerenciamento de Ponteiras**: Apanhar, descartar e rastrear ponteiras de pipeta automaticamente34- **Técnicas Avançadas**: Pipetagem multi-canal, diluições seriadas, replicação de placas35- **Rastreamento de Volume**: Rastreamento automático de volumes de líquido em poços36- **Suporte a Hardware**: Hamilton STAR/STARlet, Opentrons OT-2, Tecan EVO e outros3738### 2. Gerenciamento de Recursos (`references/resources.md`)3940Gerencie recursos laboratoriais em um sistema hierárquico:41- **Tipos de Recursos**: Placas, racks de ponteiras, calhas, tubos, carriers e labware customizado42- **Layout de Plataforma**: Atribua recursos a posições da plataforma com sistemas de coordenadas43- **Gerenciamento de Estado**: Rastreie presença de ponteiras, volumes de líquido e estados de recursos44- **Serialização**: Salve e carregue layouts de plataforma e estados de arquivos JSON45- **Descoberta de Recursos**: Acesse poços, ponteiras e containers através de APIs intuitivas4647### 3. Backends de Hardware (`references/hardware-backends.md`)4849Conecte-se a equipamentos laboratoriais diversos através de abstração de backend:50- **Manipuladores de Líquidos**: Hamilton STAR (suporte completo), Opentrons OT-2, Tecan EVO51- **Simulação**: ChatterboxBackend para teste de protocolos sem hardware52- **Suporte de Plataforma**: Funciona em Windows, macOS, Linux e Raspberry Pi53- **Alternância de Backend**: Altere robôs trocando backend sem reescrever protocolos5455### 4. Equipamentos Analíticos (`references/analytical-equipment.md`)5657Integre leitores de placas e instrumentos analíticos:58- **Leitores de Placas**: BMG CLARIOstar para absorbância, luminescência, fluorescência59- **Balanças**: Integração com Mettler Toledo para medições de massa60- **Padrões de Integração**: Combine manipuladores de líquidos com equipamentos analíticos61- **Fluxos de Trabalho Automatizados**: Mova placas entre dispositivos automaticamente6263### 5. Manipulação de Materiais (`references/material-handling.md`)6465Controle equipamentos de manipulação de materiais e ambientais:66- **Agitadores com Aquecimento**: Hamilton HeaterShaker, Inheco ThermoShake67- **Incubadoras**: Incubadoras Inheco e Thermo Fisher com controle de temperatura68- **Centrífugas**: Agilent VSpin com posicionamento de balde e controle de rotação69- **Bombas**: Cole Parmer Masterflex para operações de bombeamento de fluidos70- **Controle de Temperatura**: Configure e monitore temperaturas durante protocolos7172### 6. Visualização & Simulação (`references/visualization.md`)7374Visualize e simule protocolos laboratoriais:75- **Visualizador em Navegador**: Visualização 3D em tempo real do estado da plataforma76- **Modo Simulação**: Teste protocolos sem hardware físico77- **Rastreamento de Estado**: Monitore presença de ponteiras e volumes de líquido visualmente78- **Editor de Plataforma**: Ferramenta gráfica para projetar layouts de plataforma79- **Validação de Protocolo**: Verifique protocolos antes de executar em hardware8081## Início Rápido8283Para começar com PyLabRobot, instale o pacote e inicialize um manipulador de líquidos:8485```python86# Instale PyLabRobot87# uv pip install pylabrobot8889# Configuração básica de manipulação de líquidos90from pylabrobot.liquid_handling import LiquidHandler91from pylabrobot.liquid_handling.backends import STAR92from pylabrobot.resources import STARLetDeck9394# Inicialize manipulador de líquidos95lh = LiquidHandler(backend=STAR(), deck=STARLetDeck())96await lh.setup()9798# Operações básicas99await lh.pick_up_tips(tip_rack["A1:H1"])100await lh.aspirate(plate["A1"], vols=100)101await lh.dispense(plate["A2"], vols=100)102await lh.drop_tips()103```104105## Trabalhando com Referências106107Essa habilidade organiza informações detalhadas em múltiplos arquivos de referência. Carregue a referência relevante quando:108- **Manipulação de Líquidos**: Escrever protocolos de pipetagem, gerenciamento de ponteiras, transferências109- **Recursos**: Definir layouts de plataforma, gerenciar placas/ponteiras, labware customizado110- **Backends de Hardware**: Conectar a robôs específicos, alternar plataformas111- **Equipamentos Analíticos**: Integrar leitores de placas, balanças ou dispositivos analíticos112- **Manipulação de Materiais**: Usar agitadores com aquecimento, incubadoras, centrífugas, bombas113- **Visualização**: Simular protocolos, visualizar estados da plataforma114115Todos os arquivos de referência podem ser encontrados no diretório `references/` e contêm exemplos abrangentes, padrões de uso de API e melhores práticas.116117## Melhores Práticas118119Ao criar protocolos de automação laboratorial com PyLabRobot:1201211. **Comece com Simulação**: Use ChatterboxBackend e o visualizador para testar protocolos antes de executar em hardware1222. **Ative Rastreamento**: Ative rastreamento de ponteiras e rastreamento de volume para gerenciamento preciso de estado1233. **Nomenclatura de Recursos**: Use nomes claros e descritivos para todos os recursos (placas, racks de ponteiras, containers)1244. **Serialização de Estado**: Salve layouts de plataforma e estados em JSON para reproduzibilidade1255. **Tratamento de Erros**: Implemente tratamento apropriado de erros assíncronos para operações de hardware1266. **Controle de Temperatura**: Configure temperaturas cedo pois aquecimento/resfriamento leva tempo1277. **Protocolos Modulares**: Divida fluxos de trabalho complexos em funções reutilizáveis1288. **Documentação**: Consulte docs oficiais em https://docs.pylabrobot.org para recursos mais recentes129130## Fluxos de Trabalho Comuns131132### Protocolo de Transferência de Líquido133134```python135# Configuração136lh = LiquidHandler(backend=STAR(), deck=STARLetDeck())137await lh.setup()138139# Defina recursos140tip_rack = TIP_CAR_480_A00(name="tip_rack")141source_plate = Cos_96_DW_1mL(name="source")142dest_plate = Cos_96_DW_1mL(name="dest")143144lh.deck.assign_child_resource(tip_rack, rails=1)145lh.deck.assign_child_resource(source_plate, rails=10)146lh.deck.assign_child_resource(dest_plate, rails=15)147148# Protocolo de transferência149await lh.pick_up_tips(tip_rack["A1:H1"])150await lh.transfer(source_plate["A1:H12"], dest_plate["A1:H12"], vols=100)151await lh.drop_tips()152```153154### Fluxo de Trabalho de Leitura de Placa155156```python157# Configure leitor de placa158from pylabrobot.plate_reading import PlateReader159from pylabrobot.plate_reading.clario_star_backend import CLARIOstarBackend160161pr = PlateReader(name="CLARIOstar", backend=CLARIOstarBackend())162await pr.setup()163164# Configure temperatura e leia165await pr.set_temperature(37)166await pr.open()167# (carregue placa manualmente ou roboticamente)168await pr.close()169data = await pr.read_absorbance(wavelength=450)170```171172## Recursos Adicionais173174- **Documentação Oficial**: https://docs.pylabrobot.org175- **Repositório GitHub**: https://github.com/PyLabRobot/pylabrobot176- **Fórum da Comunidade**: https://discuss.pylabrobot.org177- **Pacote PyPI**: https://pypi.org/project/PyLabRobot/178179Para uso detalhado de capacidades específicas, consulte o arquivo de referência correspondente no diretório `references/`.