Skip to content

Commit

Permalink
Merge branch 'release/1.8'
Browse files Browse the repository at this point in the history
  • Loading branch information
MiguelJulia committed Jun 1, 2020
2 parents 840aa05 + 02792bc commit 9d72777
Show file tree
Hide file tree
Showing 76 changed files with 6,801 additions and 163 deletions.
36 changes: 36 additions & 0 deletions .github/workflows/tests_stationA_prot1.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
name: Station A prot1 tests
# This workflow is triggered on pushes and PRs to the repository.
# It runs the pipeline with several tests to check if everything works
on: [push, pull_request]
jobs:
test:
runs-on: ubuntu-latest
strategy:
matrix:
parameters: [ "${GITHUB_WORKSPACE}/tests/par_tests/stationA_prot1_comb1_pars.json",
"${GITHUB_WORKSPACE}/tests/par_tests/stationA_prot1_comb2_pars.json",
"${GITHUB_WORKSPACE}/tests/par_tests/stationA_prot1_comb3_pars.json",
"${GITHUB_WORKSPACE}/tests/par_tests/stationA_prot1_comb4_pars.json"
]
steps:
- uses: actions/checkout@v2
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v1
with:
python-version: 3.7
- name: Install Dependencies
run: |
python -m pip install --upgrade pip
pip install -r ${GITHUB_WORKSPACE}/requirements.txt
mkdir ~/.opentrons
cp ${GITHUB_WORKSPACE}/custom_defaults/* ~/.opentrons
- name: Create test script
run: |
echo "testing"
python ${GITHUB_WORKSPACE}/tests/run_tests.py \
-j ${{ matrix.parameters }} \
-t ${GITHUB_WORKSPACE}/protocols/S3/stationA_protocol1_buffer_S3.ot2.apiv2.py \
-o /tmp/tmp_test.py
- name: Simulate script
run: |
opentrons_simulate -L ${GITHUB_WORKSPACE}/labware /tmp/tmp_test.py
39 changes: 39 additions & 0 deletions .github/workflows/tests_stationA_prot2.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
name: Station A prot2 tests
# This workflow is triggered on pushes and PRs to the repository.
# It runs the pipeline with several tests to check if everything works
on: [push, pull_request]
jobs:
test:
runs-on: ubuntu-latest
strategy:
matrix:
parameters: [ "${GITHUB_WORKSPACE}/tests/par_tests/stationA_prot2_comb1_pars.json",
"${GITHUB_WORKSPACE}/tests/par_tests/stationA_prot2_comb2_pars.json",
"${GITHUB_WORKSPACE}/tests/par_tests/stationA_prot2_comb3_pars.json",
"${GITHUB_WORKSPACE}/tests/par_tests/stationA_prot2_comb4_pars.json",
"${GITHUB_WORKSPACE}/tests/par_tests/stationA_prot2_comb5_pars.json",
"${GITHUB_WORKSPACE}/tests/par_tests/stationA_prot2_comb6_pars.json",
"${GITHUB_WORKSPACE}/tests/par_tests/stationA_prot2_comb7_pars.json"
]
steps:
- uses: actions/checkout@v2
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v1
with:
python-version: 3.7
- name: Install Dependencies
run: |
python -m pip install --upgrade pip
pip install -r ${GITHUB_WORKSPACE}/requirements.txt
mkdir ~/.opentrons
cp ${GITHUB_WORKSPACE}/custom_defaults/* ~/.opentrons
- name: Create test script
run: |
echo "testing"
python ${GITHUB_WORKSPACE}/tests/run_tests.py \
-j ${{ matrix.parameters }} \
-t ${GITHUB_WORKSPACE}/protocols/S3/stationA_protocol2_beads_S3.ot2.apiv2.py \
-o /tmp/tmp_test.py
- name: Simulate script
run: |
opentrons_simulate -L ${GITHUB_WORKSPACE}/labware /tmp/tmp_test.py
40 changes: 40 additions & 0 deletions .github/workflows/tests_stationA_prot3.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
name: Station A prot3 tests
# This workflow is triggered on pushes and PRs to the repository.
# It runs the pipeline with several tests to check if everything works
on: [push, pull_request]
jobs:
test:
runs-on: ubuntu-latest
strategy:
matrix:
parameters: [ "${GITHUB_WORKSPACE}/tests/par_tests/stationA_prot3_comb1_pars.json",
"${GITHUB_WORKSPACE}/tests/par_tests/stationA_prot3_comb2_pars.json",
"${GITHUB_WORKSPACE}/tests/par_tests/stationA_prot3_comb3_pars.json",
"${GITHUB_WORKSPACE}/tests/par_tests/stationA_prot3_comb4_pars.json",
"${GITHUB_WORKSPACE}/tests/par_tests/stationA_prot3_comb5_pars.json",
"${GITHUB_WORKSPACE}/tests/par_tests/stationA_prot3_comb6_pars.json",
"${GITHUB_WORKSPACE}/tests/par_tests/stationA_prot3_comb7_pars.json",
"${GITHUB_WORKSPACE}/tests/par_tests/stationA_prot3_comb8_pars.json"
]
steps:
- uses: actions/checkout@v2
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v1
with:
python-version: 3.7
- name: Install Dependencies
run: |
python -m pip install --upgrade pip
pip install -r ${GITHUB_WORKSPACE}/requirements.txt
mkdir ~/.opentrons
cp ${GITHUB_WORKSPACE}/custom_defaults/* ~/.opentrons
- name: Create test script
run: |
echo "testing"
python ${GITHUB_WORKSPACE}/tests/run_tests.py \
-j ${{ matrix.parameters }} \
-t ${GITHUB_WORKSPACE}/protocols/S3/stationA_protocol3_lysates_S3.ot2.apiv2.py \
-o /tmp/tmp_test.py
- name: Simulate script
run: |
opentrons_simulate -L ${GITHUB_WORKSPACE}/labware /tmp/tmp_test.py
38 changes: 38 additions & 0 deletions .github/workflows/tests_stationB_prot1.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
name: Station B prot1 tests
# This workflow is triggered on pushes and PRs to the repository.
# It runs the pipeline with several tests to check if everything works
on: [push, pull_request]
jobs:
test:
runs-on: ubuntu-latest
strategy:
matrix:
# Removed comb1,3 and 5 due to a bug in the api, tall deep wells fail on simulation
parameters: [ "${GITHUB_WORKSPACE}/tests/par_tests/stationB_prot1_comb2_pars.json",
"${GITHUB_WORKSPACE}/tests/par_tests/stationB_prot1_comb4_pars.json",
"${GITHUB_WORKSPACE}/tests/par_tests/stationB_prot1_comb6_pars.json",
"${GITHUB_WORKSPACE}/tests/par_tests/stationB_prot1_comb7_pars.json",
"${GITHUB_WORKSPACE}/tests/par_tests/stationB_prot1_comb8_pars.json"
]
steps:
- uses: actions/checkout@v2
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v1
with:
python-version: 3.7
- name: Install Dependencies
run: |
python -m pip install --upgrade pip
pip install -r ${GITHUB_WORKSPACE}/requirements.txt
mkdir ~/.opentrons
cp ${GITHUB_WORKSPACE}/custom_defaults/* ~/.opentrons
- name: Create test script
run: |
echo "testing"
python ${GITHUB_WORKSPACE}/tests/run_tests.py \
-j ${{ matrix.parameters }} \
-t ${GITHUB_WORKSPACE}/protocols/S3/stationB_protocol1_extraction_S3.ot2.apiv2.py \
-o /tmp/tmp_test.py
- name: Simulate script
run: |
opentrons_simulate -L ${GITHUB_WORKSPACE}/labware /tmp/tmp_test.py
42 changes: 42 additions & 0 deletions .github/workflows/tests_stationC_prot1.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
name: Station C prot1 tests
# This workflow is triggered on pushes and PRs to the repository.
# It runs the pipeline with several tests to check if everything works
on: [push, pull_request]
jobs:
test:
runs-on: ubuntu-latest
strategy:
matrix:
parameters: [ "${GITHUB_WORKSPACE}/tests/par_tests/stationC_prot1_comb1_pars.json",
"${GITHUB_WORKSPACE}/tests/par_tests/stationC_prot1_comb2_pars.json",
"${GITHUB_WORKSPACE}/tests/par_tests/stationC_prot1_comb3_pars.json",
"${GITHUB_WORKSPACE}/tests/par_tests/stationC_prot1_comb4_pars.json",
"${GITHUB_WORKSPACE}/tests/par_tests/stationC_prot1_comb5_pars.json",
"${GITHUB_WORKSPACE}/tests/par_tests/stationC_prot1_comb6_pars.json",
"${GITHUB_WORKSPACE}/tests/par_tests/stationC_prot1_comb7_pars.json",
"${GITHUB_WORKSPACE}/tests/par_tests/stationC_prot1_comb8_pars.json",
"${GITHUB_WORKSPACE}/tests/par_tests/stationC_prot1_comb9_pars.json",
"${GITHUB_WORKSPACE}/tests/par_tests/stationC_prot1_comb10_pars.json"
]
steps:
- uses: actions/checkout@v2
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v1
with:
python-version: 3.7
- name: Install Dependencies
run: |
python -m pip install --upgrade pip
pip install -r ${GITHUB_WORKSPACE}/requirements.txt
mkdir ~/.opentrons
cp ${GITHUB_WORKSPACE}/custom_defaults/* ~/.opentrons
- name: Create test script
run: |
echo "testing"
python ${GITHUB_WORKSPACE}/tests/run_tests.py \
-j ${{ matrix.parameters }} \
-t ${GITHUB_WORKSPACE}/protocols/S3/stationC_protocol1_pcr_S3.ot2.apiv2.py \
-o /tmp/tmp_test.py
- name: Simulate script
run: |
#opentrons_simulate -L ${GITHUB_WORKSPACE}/labware /tmp/tmp_test.py
35 changes: 35 additions & 0 deletions .github/workflows/tests_stationC_prot2.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
name: Station C prot2 tests
# This workflow is triggered on pushes and PRs to the repository.
# It runs the pipeline with several tests to check if everything works
on: [push, pull_request]
jobs:
test:
runs-on: ubuntu-latest
strategy:
matrix:
parameters: [ "${GITHUB_WORKSPACE}/tests/par_tests/stationC_prot2_comb1_pars.json",
"${GITHUB_WORKSPACE}/tests/par_tests/stationC_prot2_comb2_pars.json",
"${GITHUB_WORKSPACE}/tests/par_tests/stationC_prot2_comb3_pars.json"
]
steps:
- uses: actions/checkout@v2
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v1
with:
python-version: 3.7
- name: Install Dependencies
run: |
python -m pip install --upgrade pip
pip install -r ${GITHUB_WORKSPACE}/requirements.txt
mkdir ~/.opentrons
cp ${GITHUB_WORKSPACE}/custom_defaults/* ~/.opentrons
- name: Create test script
run: |
echo "testing"
python ${GITHUB_WORKSPACE}/tests/run_tests.py \
-j ${{ matrix.parameters }} \
-t ${GITHUB_WORKSPACE}/protocols/S3/stationC_protocol2_pcrmulti_S3.ot2.apiv2.py \
-o /tmp/tmp_test.py
- name: Simulate script
run: |
#opentrons_simulate -L ${GITHUB_WORKSPACE}/labware /tmp/tmp_test.py
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
__pycache__/
*.py[cod]
*$py.class
virtualenv

# C extensions
*.so
Expand Down
51 changes: 51 additions & 0 deletions CHANGELOG
Original file line number Diff line number Diff line change
@@ -1,3 +1,54 @@
## Version 1.8

New features:
- Reduced dispense speed when dispensing washes from the top of the wells to avoid spaying in protocol B.
- Implemented reuse of tips for elutes in protocol B.
- Added double definition of labware to fuse both reuse tips protocol B options in only one files.

Protocol modifications:
- Increased supernatant removal to 810 ul to remove all of it in protocol B.
- Removed reuse of first tip in washes in protocol B.
- Protocol B labware layout has now two possible configurations, a legacy one for the old version of the protocol without tips reuse and the new optimised one.
- Protocol C does not mix master mix any longer if not prepared in the machine to avoid creating bubbles.

Bug fixes:
- Replaced default plate for biorad in protocol C.
- Fixed tip tracking for the case where we have same p20 both multi-channel and single-channel in protocol C.
- Fixed bug not transferring samples for exactly 8 samples with multi-channel in protocol C.
- Fixed bug not changing trash for 48 samples exactly in protocol B.
- Fixed bug added missing pick up tip for protocol C.
- Fixed bug mm_tube not decalred in protocol C.

## Version 1.7

New features:
- Added json sending using request. Requests python module is installed in all robots.
- Automatic tests added using github actions for all protocols (except C station due to a bug in opentrons_simulate v.3.17.0 )
- New protocol for using multi p20 pipette in station C for transferring extracts.
- Now there are two pauses in B station for removing trash tips when > 48 samples. One after mix y another after remove_supernatant.
- Added tip-reuse option for Station B protocol 1 (extraction).
- Added labware definition for biotix tip rack 300 ul (needs testing).
- Added labware definition for biotix tip rack 1000 ul (needs testing).
- Added labware ecogen deepwell to protocols A (this was missing in last release).

Protocol modification:
- For MM3 distribution in station C protocol 1 tip is changed every three columns.
- Once mastermix is mixed in station C protocol 1 tip is changed.
- Only one p20 rack tips in station C protocol 1 in slot 6.

Bug fixes:
- Fixed unset variable in dispense_beads protocol 1 station B. 2ab984b

## Version 1.6
Hotfix:
- Fix bug in hommogenize function in C protocol, used pip instead of
p300.

## Version 1.5
Hotfix:
- Removed comments where MAGNET_HEIGHT variable that were bothering
opentronsweb

## Version 1.4
Documentation:
- Added user manual in spanish and english.
Expand Down
18 changes: 18 additions & 0 deletions configuration_scripts/S3/rename_robots/S3-C3
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
NEW_SERIAL_NUMBER = "S3-C3"

from opentrons import robot
import os

robot.comment(f"Setting serial number to {NEW_SERIAL_NUMBER}.")

if not robot.is_simulating():
with open("/var/serial", "w") as serial_number_file:
serial_number_file.write(NEW_SERIAL_NUMBER + "\n")
with open("/etc/machine-info", "w") as serial_number_file:
serial_number_file.write(f"DEPLOYMENT=production\nPRETTY_HOSTNAME={NEW_SERIAL_NUMBER}\n")
with open("/etc/hostname", "w") as serial_number_file:
serial_number_file.write(NEW_SERIAL_NUMBER + "\n")

os.sync()

robot.comment("Done.")
33 changes: 33 additions & 0 deletions configuration_scripts/S3/static_ips/S3-C3_static_ip.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
STATIC_IP = "169.254.100.100/16"

keyfile_contents = f"""\
# This file was placed here by Opentrons Support to work around suspected issues with mDNS.
# Normally, IP addresses are assigned dynamically by the "wired-linklocal" or "wired" connection.
# This overrides both of those to set a known, static IP address.
[connection]
id=support-team-wired-static-ip
type=ethernet
autoconnect-priority=20
interface-name=eth0
permissions=
[ethernet]
cloned-mac-address=permanent
mac-address-blacklist=
[ipv4]
dns-search=
method=manual
addresses={STATIC_IP}
"""

from opentrons import robot
import os

robot.comment(f"Run this protocol to permanently set the wired IP address of your OT-2 to {STATIC_IP}.")

if not robot.is_simulating():
with open("/var/lib/NetworkManager/system-connections/support-team-wired-static-ip", "w") as keyfile:
keyfile.write(keyfile_contents)
os.sync()
robot.comment("Done.")

robot.comment("Restart your OT-2 to apply the changes.")
28 changes: 28 additions & 0 deletions custom_defaults/deck_calibration.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
{
"gantry_calibration": [
[
1.0003,
-0.0032,
0.0,
-0.5771
],
[
-0.0008,
1.0004,
0.0,
3.5125
],
[
0.0,
0.0,
1.0,
-24.801
],
[
0.0,
-0.0,
0.0,
1.0
]
]
}
Loading

0 comments on commit 9d72777

Please sign in to comment.