Skip to content

Commit 7cc3189

Browse files
committed
Merge branch 'release/1.7'
2 parents 7cef127 + a4cbfdf commit 7cc3189

File tree

75 files changed

+5959
-129
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

75 files changed

+5959
-129
lines changed
+36
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
name: Station A prot1 tests
2+
# This workflow is triggered on pushes and PRs to the repository.
3+
# It runs the pipeline with several tests to check if everything works
4+
on: [push, pull_request]
5+
jobs:
6+
test:
7+
runs-on: ubuntu-latest
8+
strategy:
9+
matrix:
10+
parameters: [ "${GITHUB_WORKSPACE}/tests/par_tests/stationA_prot1_comb1_pars.json",
11+
"${GITHUB_WORKSPACE}/tests/par_tests/stationA_prot1_comb2_pars.json",
12+
"${GITHUB_WORKSPACE}/tests/par_tests/stationA_prot1_comb3_pars.json",
13+
"${GITHUB_WORKSPACE}/tests/par_tests/stationA_prot1_comb4_pars.json"
14+
]
15+
steps:
16+
- uses: actions/checkout@v2
17+
- name: Set up Python ${{ matrix.python-version }}
18+
uses: actions/setup-python@v1
19+
with:
20+
python-version: 3.7
21+
- name: Install Dependencies
22+
run: |
23+
python -m pip install --upgrade pip
24+
pip install -r ${GITHUB_WORKSPACE}/requirements.txt
25+
mkdir ~/.opentrons
26+
cp ${GITHUB_WORKSPACE}/custom_defaults/* ~/.opentrons
27+
- name: Create test script
28+
run: |
29+
echo "testing"
30+
python ${GITHUB_WORKSPACE}/tests/run_tests.py \
31+
-j ${{ matrix.parameters }} \
32+
-t ${GITHUB_WORKSPACE}/protocols/S3/stationA_protocol1_buffer_S3.ot2.apiv2.py \
33+
-o /tmp/tmp_test.py
34+
- name: Simulate script
35+
run: |
36+
opentrons_simulate -L ${GITHUB_WORKSPACE}/labware /tmp/tmp_test.py
+39
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
name: Station A prot2 tests
2+
# This workflow is triggered on pushes and PRs to the repository.
3+
# It runs the pipeline with several tests to check if everything works
4+
on: [push, pull_request]
5+
jobs:
6+
test:
7+
runs-on: ubuntu-latest
8+
strategy:
9+
matrix:
10+
parameters: [ "${GITHUB_WORKSPACE}/tests/par_tests/stationA_prot2_comb1_pars.json",
11+
"${GITHUB_WORKSPACE}/tests/par_tests/stationA_prot2_comb2_pars.json",
12+
"${GITHUB_WORKSPACE}/tests/par_tests/stationA_prot2_comb3_pars.json",
13+
"${GITHUB_WORKSPACE}/tests/par_tests/stationA_prot2_comb4_pars.json",
14+
"${GITHUB_WORKSPACE}/tests/par_tests/stationA_prot2_comb5_pars.json",
15+
"${GITHUB_WORKSPACE}/tests/par_tests/stationA_prot2_comb6_pars.json",
16+
"${GITHUB_WORKSPACE}/tests/par_tests/stationA_prot2_comb7_pars.json"
17+
]
18+
steps:
19+
- uses: actions/checkout@v2
20+
- name: Set up Python ${{ matrix.python-version }}
21+
uses: actions/setup-python@v1
22+
with:
23+
python-version: 3.7
24+
- name: Install Dependencies
25+
run: |
26+
python -m pip install --upgrade pip
27+
pip install -r ${GITHUB_WORKSPACE}/requirements.txt
28+
mkdir ~/.opentrons
29+
cp ${GITHUB_WORKSPACE}/custom_defaults/* ~/.opentrons
30+
- name: Create test script
31+
run: |
32+
echo "testing"
33+
python ${GITHUB_WORKSPACE}/tests/run_tests.py \
34+
-j ${{ matrix.parameters }} \
35+
-t ${GITHUB_WORKSPACE}/protocols/S3/stationA_protocol2_beads_S3.ot2.apiv2.py \
36+
-o /tmp/tmp_test.py
37+
- name: Simulate script
38+
run: |
39+
opentrons_simulate -L ${GITHUB_WORKSPACE}/labware /tmp/tmp_test.py
+40
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
name: Station A prot3 tests
2+
# This workflow is triggered on pushes and PRs to the repository.
3+
# It runs the pipeline with several tests to check if everything works
4+
on: [push, pull_request]
5+
jobs:
6+
test:
7+
runs-on: ubuntu-latest
8+
strategy:
9+
matrix:
10+
parameters: [ "${GITHUB_WORKSPACE}/tests/par_tests/stationA_prot3_comb1_pars.json",
11+
"${GITHUB_WORKSPACE}/tests/par_tests/stationA_prot3_comb2_pars.json",
12+
"${GITHUB_WORKSPACE}/tests/par_tests/stationA_prot3_comb3_pars.json",
13+
"${GITHUB_WORKSPACE}/tests/par_tests/stationA_prot3_comb4_pars.json",
14+
"${GITHUB_WORKSPACE}/tests/par_tests/stationA_prot3_comb5_pars.json",
15+
"${GITHUB_WORKSPACE}/tests/par_tests/stationA_prot3_comb6_pars.json",
16+
"${GITHUB_WORKSPACE}/tests/par_tests/stationA_prot3_comb7_pars.json",
17+
"${GITHUB_WORKSPACE}/tests/par_tests/stationA_prot3_comb8_pars.json"
18+
]
19+
steps:
20+
- uses: actions/checkout@v2
21+
- name: Set up Python ${{ matrix.python-version }}
22+
uses: actions/setup-python@v1
23+
with:
24+
python-version: 3.7
25+
- name: Install Dependencies
26+
run: |
27+
python -m pip install --upgrade pip
28+
pip install -r ${GITHUB_WORKSPACE}/requirements.txt
29+
mkdir ~/.opentrons
30+
cp ${GITHUB_WORKSPACE}/custom_defaults/* ~/.opentrons
31+
- name: Create test script
32+
run: |
33+
echo "testing"
34+
python ${GITHUB_WORKSPACE}/tests/run_tests.py \
35+
-j ${{ matrix.parameters }} \
36+
-t ${GITHUB_WORKSPACE}/protocols/S3/stationA_protocol3_lysates_S3.ot2.apiv2.py \
37+
-o /tmp/tmp_test.py
38+
- name: Simulate script
39+
run: |
40+
opentrons_simulate -L ${GITHUB_WORKSPACE}/labware /tmp/tmp_test.py
+38
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
name: Station B prot1 tests
2+
# This workflow is triggered on pushes and PRs to the repository.
3+
# It runs the pipeline with several tests to check if everything works
4+
on: [push, pull_request]
5+
jobs:
6+
test:
7+
runs-on: ubuntu-latest
8+
strategy:
9+
matrix:
10+
# Removed comb1,3 and 5 due to a bug in the api, tall deep wells fail on simulation
11+
parameters: [ "${GITHUB_WORKSPACE}/tests/par_tests/stationB_prot1_comb2_pars.json",
12+
"${GITHUB_WORKSPACE}/tests/par_tests/stationB_prot1_comb4_pars.json",
13+
"${GITHUB_WORKSPACE}/tests/par_tests/stationB_prot1_comb6_pars.json",
14+
"${GITHUB_WORKSPACE}/tests/par_tests/stationB_prot1_comb7_pars.json",
15+
"${GITHUB_WORKSPACE}/tests/par_tests/stationB_prot1_comb8_pars.json"
16+
]
17+
steps:
18+
- uses: actions/checkout@v2
19+
- name: Set up Python ${{ matrix.python-version }}
20+
uses: actions/setup-python@v1
21+
with:
22+
python-version: 3.7
23+
- name: Install Dependencies
24+
run: |
25+
python -m pip install --upgrade pip
26+
pip install -r ${GITHUB_WORKSPACE}/requirements.txt
27+
mkdir ~/.opentrons
28+
cp ${GITHUB_WORKSPACE}/custom_defaults/* ~/.opentrons
29+
- name: Create test script
30+
run: |
31+
echo "testing"
32+
python ${GITHUB_WORKSPACE}/tests/run_tests.py \
33+
-j ${{ matrix.parameters }} \
34+
-t ${GITHUB_WORKSPACE}/protocols/S3/stationB_protocol1_extraction_S3.ot2.apiv2.py \
35+
-o /tmp/tmp_test.py
36+
- name: Simulate script
37+
run: |
38+
opentrons_simulate -L ${GITHUB_WORKSPACE}/labware /tmp/tmp_test.py
+42
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
name: Station C prot1 tests
2+
# This workflow is triggered on pushes and PRs to the repository.
3+
# It runs the pipeline with several tests to check if everything works
4+
on: [push, pull_request]
5+
jobs:
6+
test:
7+
runs-on: ubuntu-latest
8+
strategy:
9+
matrix:
10+
parameters: [ "${GITHUB_WORKSPACE}/tests/par_tests/stationC_prot1_comb1_pars.json",
11+
"${GITHUB_WORKSPACE}/tests/par_tests/stationC_prot1_comb2_pars.json",
12+
"${GITHUB_WORKSPACE}/tests/par_tests/stationC_prot1_comb3_pars.json",
13+
"${GITHUB_WORKSPACE}/tests/par_tests/stationC_prot1_comb4_pars.json",
14+
"${GITHUB_WORKSPACE}/tests/par_tests/stationC_prot1_comb5_pars.json",
15+
"${GITHUB_WORKSPACE}/tests/par_tests/stationC_prot1_comb6_pars.json",
16+
"${GITHUB_WORKSPACE}/tests/par_tests/stationC_prot1_comb7_pars.json",
17+
"${GITHUB_WORKSPACE}/tests/par_tests/stationC_prot1_comb8_pars.json",
18+
"${GITHUB_WORKSPACE}/tests/par_tests/stationC_prot1_comb9_pars.json",
19+
"${GITHUB_WORKSPACE}/tests/par_tests/stationC_prot1_comb10_pars.json"
20+
]
21+
steps:
22+
- uses: actions/checkout@v2
23+
- name: Set up Python ${{ matrix.python-version }}
24+
uses: actions/setup-python@v1
25+
with:
26+
python-version: 3.7
27+
- name: Install Dependencies
28+
run: |
29+
python -m pip install --upgrade pip
30+
pip install -r ${GITHUB_WORKSPACE}/requirements.txt
31+
mkdir ~/.opentrons
32+
cp ${GITHUB_WORKSPACE}/custom_defaults/* ~/.opentrons
33+
- name: Create test script
34+
run: |
35+
echo "testing"
36+
python ${GITHUB_WORKSPACE}/tests/run_tests.py \
37+
-j ${{ matrix.parameters }} \
38+
-t ${GITHUB_WORKSPACE}/protocols/S3/stationC_protocol1_pcr_S3.ot2.apiv2.py \
39+
-o /tmp/tmp_test.py
40+
- name: Simulate script
41+
run: |
42+
#opentrons_simulate -L ${GITHUB_WORKSPACE}/labware /tmp/tmp_test.py
+35
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
name: Station C prot2 tests
2+
# This workflow is triggered on pushes and PRs to the repository.
3+
# It runs the pipeline with several tests to check if everything works
4+
on: [push, pull_request]
5+
jobs:
6+
test:
7+
runs-on: ubuntu-latest
8+
strategy:
9+
matrix:
10+
parameters: [ "${GITHUB_WORKSPACE}/tests/par_tests/stationC_prot2_comb1_pars.json",
11+
"${GITHUB_WORKSPACE}/tests/par_tests/stationC_prot2_comb2_pars.json",
12+
"${GITHUB_WORKSPACE}/tests/par_tests/stationC_prot2_comb3_pars.json"
13+
]
14+
steps:
15+
- uses: actions/checkout@v2
16+
- name: Set up Python ${{ matrix.python-version }}
17+
uses: actions/setup-python@v1
18+
with:
19+
python-version: 3.7
20+
- name: Install Dependencies
21+
run: |
22+
python -m pip install --upgrade pip
23+
pip install -r ${GITHUB_WORKSPACE}/requirements.txt
24+
mkdir ~/.opentrons
25+
cp ${GITHUB_WORKSPACE}/custom_defaults/* ~/.opentrons
26+
- name: Create test script
27+
run: |
28+
echo "testing"
29+
python ${GITHUB_WORKSPACE}/tests/run_tests.py \
30+
-j ${{ matrix.parameters }} \
31+
-t ${GITHUB_WORKSPACE}/protocols/S3/stationC_protocol2_pcrmulti_S3.ot2.apiv2.py \
32+
-o /tmp/tmp_test.py
33+
- name: Simulate script
34+
run: |
35+
#opentrons_simulate -L ${GITHUB_WORKSPACE}/labware /tmp/tmp_test.py

.gitignore

+1
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
__pycache__/
33
*.py[cod]
44
*$py.class
5+
virtualenv
56

67
# C extensions
78
*.so

CHANGELOG

+30
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,33 @@
1+
## Version 1.7
2+
3+
New features:
4+
- Added json sending using request. Requests python module is installed in all robots.
5+
- Automatic tests added using github actions for all protocols (except C station due to a bug in opentrons_simulate v.3.17.0 )
6+
- New protocol for using multi p20 pipette in station C for transferring extracts.
7+
- Now there are two pauses in B station for removing trash tips when > 48 samples. One after mix y another after remove_supernatant.
8+
- Added tip-reuse option for Station B protocol 1 (extraction).
9+
- Added labware definition for biotix tip rack 300 ul (needs testing).
10+
- Added labware definition for biotix tip rack 1000 ul (needs testing).
11+
- Added labware ecogen deepwell to protocols A (this was missing in last release).
12+
13+
Protocol modification:
14+
- For MM3 distribution in station C protocol 1 tip is changed every three columns.
15+
- Once mastermix is mixed in station C protocol 1 tip is changed.
16+
- Only one p20 rack tips in station C protocol 1 in slot 6.
17+
18+
Bug fixes:
19+
- Fixed unset variable in dispense_beads protocol 1 station B. 2ab984b
20+
21+
## Version 1.6
22+
Hotfix:
23+
- Fix bug in hommogenize function in C protocol, used pip instead of
24+
p300.
25+
26+
## Version 1.5
27+
Hotfix:
28+
- Removed comments where MAGNET_HEIGHT variable that were bothering
29+
opentronsweb
30+
131
## Version 1.4
232
Documentation:
333
- Added user manual in spanish and english.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
NEW_SERIAL_NUMBER = "S3-C3"
2+
3+
from opentrons import robot
4+
import os
5+
6+
robot.comment(f"Setting serial number to {NEW_SERIAL_NUMBER}.")
7+
8+
if not robot.is_simulating():
9+
with open("/var/serial", "w") as serial_number_file:
10+
serial_number_file.write(NEW_SERIAL_NUMBER + "\n")
11+
with open("/etc/machine-info", "w") as serial_number_file:
12+
serial_number_file.write(f"DEPLOYMENT=production\nPRETTY_HOSTNAME={NEW_SERIAL_NUMBER}\n")
13+
with open("/etc/hostname", "w") as serial_number_file:
14+
serial_number_file.write(NEW_SERIAL_NUMBER + "\n")
15+
16+
os.sync()
17+
18+
robot.comment("Done.")
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
STATIC_IP = "169.254.100.100/16"
2+
3+
keyfile_contents = f"""\
4+
# This file was placed here by Opentrons Support to work around suspected issues with mDNS.
5+
# Normally, IP addresses are assigned dynamically by the "wired-linklocal" or "wired" connection.
6+
# This overrides both of those to set a known, static IP address.
7+
[connection]
8+
id=support-team-wired-static-ip
9+
type=ethernet
10+
autoconnect-priority=20
11+
interface-name=eth0
12+
permissions=
13+
[ethernet]
14+
cloned-mac-address=permanent
15+
mac-address-blacklist=
16+
[ipv4]
17+
dns-search=
18+
method=manual
19+
addresses={STATIC_IP}
20+
"""
21+
22+
from opentrons import robot
23+
import os
24+
25+
robot.comment(f"Run this protocol to permanently set the wired IP address of your OT-2 to {STATIC_IP}.")
26+
27+
if not robot.is_simulating():
28+
with open("/var/lib/NetworkManager/system-connections/support-team-wired-static-ip", "w") as keyfile:
29+
keyfile.write(keyfile_contents)
30+
os.sync()
31+
robot.comment("Done.")
32+
33+
robot.comment("Restart your OT-2 to apply the changes.")

custom_defaults/deck_calibration.json

+28
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
{
2+
"gantry_calibration": [
3+
[
4+
1.0003,
5+
-0.0032,
6+
0.0,
7+
-0.5771
8+
],
9+
[
10+
-0.0008,
11+
1.0004,
12+
0.0,
13+
3.5125
14+
],
15+
[
16+
0.0,
17+
0.0,
18+
1.0,
19+
-24.801
20+
],
21+
[
22+
0.0,
23+
-0.0,
24+
0.0,
25+
1.0
26+
]
27+
]
28+
}

0 commit comments

Comments
 (0)