exercise-07 release

This commit is contained in:
Andrew Straw 2024-11-25 08:20:05 +01:00
parent eb5db8a689
commit de006a7475
5 changed files with 1881 additions and 0 deletions

View file

@ -0,0 +1,581 @@
{
"cells": [
{
"cell_type": "markdown",
"metadata": {
"deletable": false,
"editable": false,
"nbgrader": {
"cell_type": "markdown",
"checksum": "d051764cdaeb2087723bdd3c06158cc2",
"grade": false,
"grade_id": "cell-df7302b349aba739",
"locked": true,
"schema_version": 3,
"solution": false,
"task": false
}
},
"source": [
"# Classes in Python\n",
"\n",
"First, let's consider some data in a plain Python dictionary:"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"deletable": false,
"editable": false,
"nbgrader": {
"cell_type": "code",
"checksum": "3c6ba36cff543ce56e53b5899e7144e4",
"grade": false,
"grade_id": "cell-5eb4e7d87487b636",
"locked": true,
"schema_version": 3,
"solution": false,
"task": false
}
},
"outputs": [],
"source": [
"car1 = {\n",
" 'name': 'Fer',\n",
" 'worth': 60000,\n",
" 'type_': 'convertible',\n",
" 'color': 'red'\n",
"}\n",
"car2 = {\n",
" 'name': 'Jump',\n",
" 'worth': 10000,\n",
" 'type_': 'van',\n",
" 'color': 'blue'\n",
"}"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"deletable": false,
"editable": false,
"nbgrader": {
"cell_type": "code",
"checksum": "3805821259c1a8c0ed4b653e6379136e",
"grade": false,
"grade_id": "cell-b6fe8f994da7634c",
"locked": true,
"schema_version": 3,
"solution": false,
"task": false
}
},
"outputs": [],
"source": [
"car1['name']"
]
},
{
"cell_type": "markdown",
"metadata": {
"deletable": false,
"editable": false,
"nbgrader": {
"cell_type": "markdown",
"checksum": "2c47a11694c61064da53ec89ae88f621",
"grade": false,
"grade_id": "cell-2b0e27117c238bca",
"locked": true,
"schema_version": 3,
"solution": false,
"task": false
}
},
"source": [
"Now, let's make a Python class which will hold this same kind of data:"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"deletable": false,
"editable": false,
"nbgrader": {
"cell_type": "code",
"checksum": "bf3a8f6b48f1afcf2e6c10fec9f7b9a2",
"grade": false,
"grade_id": "cell-17b8022fd73e630c",
"locked": true,
"schema_version": 3,
"solution": false,
"task": false
}
},
"outputs": [],
"source": [
"class Car:\n",
" def __init__(self,name,worth,type_,color):\n",
" self.name = name\n",
" self.worth = worth\n",
" self.type_ = type_\n",
" self.color = color\n",
" def print_car(self):\n",
" print(\"%s is worth %d and is a %s %s.\"%(self.name, self.worth, self.color, self.type_))"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"deletable": false,
"editable": false,
"nbgrader": {
"cell_type": "code",
"checksum": "5be848668665736d92ae6c87c98062f9",
"grade": false,
"grade_id": "cell-98bd27b61013b730",
"locked": true,
"schema_version": 3,
"solution": false,
"task": false
}
},
"outputs": [],
"source": [
"car1 = Car(\"Fer\",60000,\"convertible\",\"red\")"
]
},
{
"cell_type": "markdown",
"metadata": {
"deletable": false,
"editable": false,
"nbgrader": {
"cell_type": "markdown",
"checksum": "c053c44cba2e30ce86b25e238df3654d",
"grade": false,
"grade_id": "cell-1055b5581d221586",
"locked": true,
"schema_version": 3,
"solution": false,
"task": false
}
},
"source": [
"## Takeaway message\n",
"\n",
"- The data in an instances of a class are conceptually very similar to python dicts with a few special features. One of these special features is methods. Another is that you access instance variables with with the `x_instance.name` syntax instead of `x_dict['name']` syntax."
]
},
{
"cell_type": "markdown",
"metadata": {
"deletable": false,
"editable": false,
"nbgrader": {
"cell_type": "markdown",
"checksum": "4d7c74520ba3366ed008910abfb9e1e4",
"grade": false,
"grade_id": "cell-ce0b6c546e3ec2d5",
"locked": true,
"schema_version": 3,
"solution": false,
"task": false
}
},
"source": [
"## Q1 creating an instance of a class\n",
"\n",
"We have a class defined for vehicles. Create two new vehicles (\"instances of the class\") with the variable names `car1` and `car2`. Set car1 to be a red convertible worth EUR 60,000.00 with a name of Fer, and car2 to be a blue van named Jump worth EUR 10,000.00."
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"deletable": false,
"editable": false,
"nbgrader": {
"cell_type": "code",
"checksum": "0d052b41cdd93e2cce3a7035d2d1c011",
"grade": false,
"grade_id": "cell-ae7291a16e80887f",
"locked": true,
"schema_version": 3,
"solution": false,
"task": false
}
},
"outputs": [],
"source": [
"class Vehicle:\n",
" def __init__(self, color, worth, name): \n",
" self.color = color\n",
" self.worth = worth\n",
" self.name = name\n",
" def get_description(self):\n",
" return 'name: {}, worth: {}, color: {}'.format(self.name, self.worth, self.color)"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"deletable": false,
"nbgrader": {
"cell_type": "code",
"checksum": "55938569752fe9ac4751dc22482370f1",
"grade": false,
"grade_id": "cell-3f2711d5634d8201",
"locked": false,
"schema_version": 3,
"solution": true,
"task": false
}
},
"outputs": [],
"source": [
"# YOUR CODE HERE\n",
"raise NotImplementedError()"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"deletable": false,
"editable": false,
"nbgrader": {
"cell_type": "code",
"checksum": "c84a9541f2080755da82b55d6d375beb",
"grade": true,
"grade_id": "cell-081ffcbe096c0760",
"locked": true,
"points": 1,
"schema_version": 3,
"solution": false,
"task": false
}
},
"outputs": [],
"source": [
"# This checks if your code works. Do not change it. It should run without error.\n",
"assert( car1.get_description()==\"name: Fer, worth: 60000, color: red\" )\n",
"assert( car2.get_description()==\"name: Jump, worth: 10000, color: blue\" )"
]
},
{
"cell_type": "markdown",
"metadata": {
"deletable": false,
"editable": false,
"nbgrader": {
"cell_type": "markdown",
"checksum": "c7175f240fd1d3657fd297428bddd0a6",
"grade": false,
"grade_id": "cell-634909b4b67c316a",
"locked": true,
"schema_version": 3,
"solution": false,
"task": false
}
},
"source": [
"## Q2 creating a class\n",
"\n",
"Create a class called `Pet`. The `__init__` function should take 3 arguments: `self`, `name`, and `sound`. The `name`, and `sound` arguments should be assigned to the instance variables `self.name` and `self.sound`."
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"deletable": false,
"nbgrader": {
"cell_type": "code",
"checksum": "9c56d83972333bd761d8789fee7ccdbe",
"grade": false,
"grade_id": "cell-6976ffa1c6d95602",
"locked": false,
"schema_version": 3,
"solution": true,
"task": false
}
},
"outputs": [],
"source": [
"# YOUR CODE HERE\n",
"raise NotImplementedError()"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"deletable": false,
"editable": false,
"nbgrader": {
"cell_type": "code",
"checksum": "d809e99b7bdde51789307c4260f45159",
"grade": true,
"grade_id": "cell-c49bb38441eca03a",
"locked": true,
"points": 1,
"schema_version": 3,
"solution": false,
"task": false
}
},
"outputs": [],
"source": [
"# This checks if your code works. Do not change it. It should run without error.\n",
"my_pet = Pet('Bob', 'talk')\n",
"assert(my_pet.name=='Bob')\n",
"assert(my_pet.sound=='talk')"
]
},
{
"cell_type": "markdown",
"metadata": {
"deletable": false,
"editable": false,
"nbgrader": {
"cell_type": "markdown",
"checksum": "3bb11e465173b194ad1ad11ae5aaa077",
"grade": false,
"grade_id": "cell-f34bb63b09eccd59",
"locked": true,
"schema_version": 3,
"solution": false,
"task": false
}
},
"source": [
"## Q3 writing a method\n",
"\n",
"Now, create a new class called `NoisyPet`. The `__init__` function should be like in `Pet`. (It takes 3 arguments: `self`, `name`, and `sound`. The `name`, and `sound` arguments should be assigned to the instance variables `self.name` and `self.sound`.)\n",
"\n",
"`NoisyPet` should have an additional method called `make_noise` which takes zero additional arguments (of course `self` is required). The `make_noise` for a name of `\"cricket\"` and sound of `\"chirp\"`, this method should return a string like `\"My pet cricket makes a noise like chirp\"`. Thus, you will need to return a string you have created using string formatting."
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"deletable": false,
"nbgrader": {
"cell_type": "code",
"checksum": "354f8f30b07c461f0cd91c49e8e83946",
"grade": false,
"grade_id": "cell-30ebdf29d3de2e41",
"locked": false,
"schema_version": 3,
"solution": true,
"task": false
}
},
"outputs": [],
"source": [
"# YOUR CODE HERE\n",
"raise NotImplementedError()"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"deletable": false,
"editable": false,
"nbgrader": {
"cell_type": "code",
"checksum": "3053073d2108f15b34933a38308e0660",
"grade": true,
"grade_id": "cell-232b938072cf100c",
"locked": true,
"points": 1,
"schema_version": 3,
"solution": false,
"task": false
}
},
"outputs": [],
"source": [
"# This checks if your code works. Do not change it. It should run without error.\n",
"assert(NoisyPet(\"cricket\", \"chirp\").make_noise()==\"My pet cricket makes a noise like chirp\")"
]
},
{
"cell_type": "markdown",
"metadata": {
"deletable": false,
"editable": false,
"nbgrader": {
"cell_type": "markdown",
"checksum": "e0b9c567d219461c2c46235a6b8a628a",
"grade": false,
"grade_id": "cell-ded0dd503cbcd3b7",
"locked": true,
"schema_version": 3,
"solution": false,
"task": false
}
},
"source": [
"## Q4 using instances 1\n",
"\n",
"Now create a list named `my_pets` with 5 instances of the NoisyPet class given the following names and noises.\n",
"\n",
"| name | noise |\n",
"| --- | --- |\n",
"| Fido | slobber |\n",
"| Mr. Skinny Legs | (silent) |\n",
"| cricket | chirp |\n",
"| Adelheid | cackle |\n",
"| Bello | bark |"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"deletable": false,
"nbgrader": {
"cell_type": "code",
"checksum": "1ebaa37bd3f5c2752861d737fa7bc037",
"grade": false,
"grade_id": "cell-9e7de69ef49036d8",
"locked": false,
"schema_version": 3,
"solution": true,
"task": false
}
},
"outputs": [],
"source": [
"# YOUR CODE HERE\n",
"raise NotImplementedError()"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"deletable": false,
"editable": false,
"nbgrader": {
"cell_type": "code",
"checksum": "d087f4445018ab8ff8a2b8c558ee7f1f",
"grade": true,
"grade_id": "cell-ef3307b4ff8e4134",
"locked": true,
"points": 1,
"schema_version": 3,
"solution": false,
"task": false
}
},
"outputs": [],
"source": [
"# This checks if your code works. Do not change it. It should run without error.\n",
"assert(type(my_pets)==list)\n",
"assert(len(my_pets)==5)\n",
"for my_pet in my_pets:\n",
" assert(isinstance(my_pet,NoisyPet))\n",
" my_pet.make_noise()"
]
},
{
"cell_type": "markdown",
"metadata": {
"deletable": false,
"editable": false,
"nbgrader": {
"cell_type": "markdown",
"checksum": "f6cb9fe7a15f37ed0ba705792a4d884c",
"grade": false,
"grade_id": "cell-7f3ab5609b4c6d4b",
"locked": true,
"schema_version": 3,
"solution": false,
"task": false
}
},
"source": [
"## Q5 using instances 2\n",
"\n",
"Now create a function list named `get_pet_name_length` which takes a single argument, which is an instance of the NoisyPet class. It should return the number of letters in the pet's name."
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"deletable": false,
"nbgrader": {
"cell_type": "code",
"checksum": "d171e1af9b04bf7cff126a73bc35b813",
"grade": false,
"grade_id": "cell-4fb1927bd55587b9",
"locked": false,
"schema_version": 3,
"solution": true,
"task": false
}
},
"outputs": [],
"source": [
"# YOUR CODE HERE\n",
"raise NotImplementedError()"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"deletable": false,
"editable": false,
"nbgrader": {
"cell_type": "code",
"checksum": "87044259f588778b8c45227087cca1c0",
"grade": true,
"grade_id": "cell-adabc63962b7ba48",
"locked": true,
"points": 1,
"schema_version": 3,
"solution": false,
"task": false
}
},
"outputs": [],
"source": [
"# This checks if your code works. Do not change it. It should run without error.\n",
"assert(get_pet_name_length(NoisyPet(\"Bello\", \"bark\"))==5)\n",
"assert(get_pet_name_length(NoisyPet(\"cricket\", \"chirp\"))==7)"
]
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3 (ipykernel)",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.11.10"
}
},
"nbformat": 4,
"nbformat_minor": 4
}

File diff suppressed because one or more lines are too long

View file

@ -0,0 +1,52 @@
{
"cells": [
{
"cell_type": "markdown",
"id": "0a7b652b-7846-464c-acf3-6629ba66a192",
"metadata": {},
"source": [
"# Create a standalone Python program\n",
"\n",
"The instructions for this exercise are in this Jupyter notebook, but to successfully complete the exercise, you need to write a plain Python `.py` file called `plot_pcr_data.py` that runs from the command line. Write your program so that when you run it like this:\n",
"\n",
" python plot_pcr_data.py pcr_sample_1.csv\n",
"\n",
"It will read load the CSV file named `pcr_sample_1.csv` and save a plot called `pcr_sample_1.csv.png`. This data file is the result of a [real-time PCR](https://en.wikipedia.org/wiki/Real-time_polymerase_chain_reaction) experiment in a 6 well plate. The plot should plot number of cycles on the X axis and fluorescence intensity on the Y axis. There should be a line for the data from each well in the experiment.\n",
"\n",
"Hints:\n",
"\n",
"- Remember that you can get the command-line arguments to a python program by importing the `sys` module and accessing the `sys.argv` variable, which is a list of strings. So the filename with the data is provided as a command-line argument to your python program.\n",
"- Read the CSV data from the provided filename using Pandas `read_csv()` function.\n",
"- Plot the results with seaborn's `lineplot()` function.\n",
"- Save this figure (with matplotlib.pylot's `savefig()`) to a file with the name equal to the original file name with `.png` appended to it (e.g. for the above example with `pcr_sample_1.csv` as input, save the figure to `pcr_sample_1.csv.png`).\n",
"\n",
"When you are done with your program `plot_pcr_data.py`, upload it to the directory for this exercise. I will run it with a new CSV data file from a different PCR experiments to check that it works.\n",
"\n",
"With `pcr_sample_1.csv`, your plot should look like this:\n",
"\n",
"![pcr_results.png](pcr_results.png)"
]
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3 (ipykernel)",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.11.10"
}
},
"nbformat": 4,
"nbformat_minor": 5
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 33 KiB

View file

@ -0,0 +1,271 @@
well,cycle,fluorescence
well 1,0,-3.0
well 1,1,-3.0
well 1,2,-3.0
well 1,3,-3.0
well 1,4,-3.0
well 1,5,-3.0
well 1,6,-3.0
well 1,7,-3.0
well 1,8,-3.0
well 1,9,-3.0
well 1,10,-3.0
well 1,11,-3.0
well 1,12,-3.0
well 1,13,-3.0
well 1,14,-3.0
well 1,15,-1.7999999999999998
well 1,16,-1.0799999999999998
well 1,17,-0.6479999999999999
well 1,18,-0.3887999999999999
well 1,19,-0.23327999999999993
well 1,20,-0.13996799999999995
well 1,21,-0.08398079999999997
well 1,22,-0.05038847999999998
well 1,23,-0.030233087999999984
well 1,24,-0.018139852799999988
well 1,25,-0.010883911679999993
well 1,26,-0.006530347007999996
well 1,27,-0.0039182082047999976
well 1,28,-0.0023509249228799984
well 1,29,-0.001410554953727999
well 1,30,-0.0008463329722367994
well 1,31,-0.0005077997833420796
well 1,32,-0.0003046798700052478
well 1,33,-0.00018280792200314866
well 1,34,-0.0001096847532018892
well 1,35,-6.581085192113351e-05
well 1,36,-3.948651115268011e-05
well 1,37,-2.3691906691608062e-05
well 1,38,-1.4215144014964837e-05
well 1,39,-8.529086408978902e-06
well 1,40,-5.117451845387341e-06
well 1,41,-3.0704711072324042e-06
well 1,42,-1.8422826643394425e-06
well 1,43,-1.1053695986036654e-06
well 1,44,-6.632217591621993e-07
well 2,0,-3.0
well 2,1,-3.0
well 2,2,-3.0
well 2,3,-3.0
well 2,4,-3.0
well 2,5,-3.0
well 2,6,-3.0
well 2,7,-3.0
well 2,8,-3.0
well 2,9,-3.0
well 2,10,-3.0
well 2,11,-3.0
well 2,12,-1.7999999999999998
well 2,13,-1.0799999999999998
well 2,14,-0.6479999999999999
well 2,15,-0.3887999999999999
well 2,16,-0.23327999999999993
well 2,17,-0.13996799999999995
well 2,18,-0.08398079999999997
well 2,19,-0.05038847999999998
well 2,20,-0.030233087999999984
well 2,21,-0.018139852799999988
well 2,22,-0.010883911679999993
well 2,23,-0.006530347007999996
well 2,24,-0.0039182082047999976
well 2,25,-0.0023509249228799984
well 2,26,-0.001410554953727999
well 2,27,-0.0008463329722367994
well 2,28,-0.0005077997833420796
well 2,29,-0.0003046798700052478
well 2,30,-0.00018280792200314866
well 2,31,-0.0001096847532018892
well 2,32,-6.581085192113351e-05
well 2,33,-3.948651115268011e-05
well 2,34,-2.3691906691608062e-05
well 2,35,-1.4215144014964837e-05
well 2,36,-8.529086408978902e-06
well 2,37,-5.117451845387341e-06
well 2,38,-3.0704711072324042e-06
well 2,39,-1.8422826643394425e-06
well 2,40,-1.1053695986036654e-06
well 2,41,-6.632217591621993e-07
well 2,42,-3.9793305549731955e-07
well 2,43,-2.3875983329839174e-07
well 2,44,-1.4325589997903504e-07
well 3,0,-3.0
well 3,1,-3.0
well 3,2,-3.0
well 3,3,-3.0
well 3,4,-3.0
well 3,5,-3.0
well 3,6,-3.0
well 3,7,-3.0
well 3,8,-3.0
well 3,9,-3.0
well 3,10,-3.0
well 3,11,-3.0
well 3,12,-3.0
well 3,13,-3.0
well 3,14,-3.0
well 3,15,-3.0
well 3,16,-1.7999999999999998
well 3,17,-1.0799999999999998
well 3,18,-0.6479999999999999
well 3,19,-0.3887999999999999
well 3,20,-0.23327999999999993
well 3,21,-0.13996799999999995
well 3,22,-0.08398079999999997
well 3,23,-0.05038847999999998
well 3,24,-0.030233087999999984
well 3,25,-0.018139852799999988
well 3,26,-0.010883911679999993
well 3,27,-0.006530347007999996
well 3,28,-0.0039182082047999976
well 3,29,-0.0023509249228799984
well 3,30,-0.001410554953727999
well 3,31,-0.0008463329722367994
well 3,32,-0.0005077997833420796
well 3,33,-0.0003046798700052478
well 3,34,-0.00018280792200314866
well 3,35,-0.0001096847532018892
well 3,36,-6.581085192113351e-05
well 3,37,-3.948651115268011e-05
well 3,38,-2.3691906691608062e-05
well 3,39,-1.4215144014964837e-05
well 3,40,-8.529086408978902e-06
well 3,41,-5.117451845387341e-06
well 3,42,-3.0704711072324042e-06
well 3,43,-1.8422826643394425e-06
well 3,44,-1.1053695986036654e-06
well 4,0,-3.0
well 4,1,-3.0
well 4,2,-1.7999999999999998
well 4,3,-1.0799999999999998
well 4,4,-0.6479999999999999
well 4,5,-0.3887999999999999
well 4,6,-0.23327999999999993
well 4,7,-0.13996799999999995
well 4,8,-0.08398079999999997
well 4,9,-0.05038847999999998
well 4,10,-0.030233087999999984
well 4,11,-0.018139852799999988
well 4,12,-0.010883911679999993
well 4,13,-0.006530347007999996
well 4,14,-0.0039182082047999976
well 4,15,-0.0023509249228799984
well 4,16,-0.001410554953727999
well 4,17,-0.0008463329722367994
well 4,18,-0.0005077997833420796
well 4,19,-0.0003046798700052478
well 4,20,-0.00018280792200314866
well 4,21,-0.0001096847532018892
well 4,22,-6.581085192113351e-05
well 4,23,-3.948651115268011e-05
well 4,24,-2.3691906691608062e-05
well 4,25,-1.4215144014964837e-05
well 4,26,-8.529086408978902e-06
well 4,27,-5.117451845387341e-06
well 4,28,-3.0704711072324042e-06
well 4,29,-1.8422826643394425e-06
well 4,30,-1.1053695986036654e-06
well 4,31,-6.632217591621993e-07
well 4,32,-3.9793305549731955e-07
well 4,33,-2.3875983329839174e-07
well 4,34,-1.4325589997903504e-07
well 4,35,-8.595353998742102e-08
well 4,36,-5.157212399245261e-08
well 4,37,-3.0943274395471566e-08
well 4,38,-1.8565964637282937e-08
well 4,39,-1.1139578782369761e-08
well 4,40,-6.683747269421856e-09
well 4,41,-4.0102483616531134e-09
well 4,42,-2.4061490169918677e-09
well 4,43,-1.4436894101951206e-09
well 4,44,-8.662136461170723e-10
well 5,0,-3.0
well 5,1,-3.0
well 5,2,-3.0
well 5,3,-3.0
well 5,4,-3.0
well 5,5,-3.0
well 5,6,-3.0
well 5,7,-3.0
well 5,8,-3.0
well 5,9,-3.0
well 5,10,-3.0
well 5,11,-3.0
well 5,12,-3.0
well 5,13,-3.0
well 5,14,-1.7999999999999998
well 5,15,-1.0799999999999998
well 5,16,-0.6479999999999999
well 5,17,-0.3887999999999999
well 5,18,-0.23327999999999993
well 5,19,-0.13996799999999995
well 5,20,-0.08398079999999997
well 5,21,-0.05038847999999998
well 5,22,-0.030233087999999984
well 5,23,-0.018139852799999988
well 5,24,-0.010883911679999993
well 5,25,-0.006530347007999996
well 5,26,-0.0039182082047999976
well 5,27,-0.0023509249228799984
well 5,28,-0.001410554953727999
well 5,29,-0.0008463329722367994
well 5,30,-0.0005077997833420796
well 5,31,-0.0003046798700052478
well 5,32,-0.00018280792200314866
well 5,33,-0.0001096847532018892
well 5,34,-6.581085192113351e-05
well 5,35,-3.948651115268011e-05
well 5,36,-2.3691906691608062e-05
well 5,37,-1.4215144014964837e-05
well 5,38,-8.529086408978902e-06
well 5,39,-5.117451845387341e-06
well 5,40,-3.0704711072324042e-06
well 5,41,-1.8422826643394425e-06
well 5,42,-1.1053695986036654e-06
well 5,43,-6.632217591621993e-07
well 5,44,-3.9793305549731955e-07
well 6,0,-3.0
well 6,1,-3.0
well 6,2,-3.0
well 6,3,-3.0
well 6,4,-3.0
well 6,5,-3.0
well 6,6,-3.0
well 6,7,-3.0
well 6,8,-3.0
well 6,9,-3.0
well 6,10,-3.0
well 6,11,-3.0
well 6,12,-3.0
well 6,13,-3.0
well 6,14,-3.0
well 6,15,-3.0
well 6,16,-3.0
well 6,17,-3.0
well 6,18,-3.0
well 6,19,-3.0
well 6,20,-3.0
well 6,21,-3.0
well 6,22,-3.0
well 6,23,-3.0
well 6,24,-3.0
well 6,25,-3.0
well 6,26,-3.0
well 6,27,-3.0
well 6,28,-3.0
well 6,29,-3.0
well 6,30,-3.0
well 6,31,-3.0
well 6,32,-3.0
well 6,33,-3.0
well 6,34,-3.0
well 6,35,-3.0
well 6,36,-3.0
well 6,37,-3.0
well 6,38,-3.0
well 6,39,-3.0
well 6,40,-3.0
well 6,41,-3.0
well 6,42,-3.0
well 6,43,-3.0
well 6,44,-3.0
1 well cycle fluorescence
2 well 1 0 -3.0
3 well 1 1 -3.0
4 well 1 2 -3.0
5 well 1 3 -3.0
6 well 1 4 -3.0
7 well 1 5 -3.0
8 well 1 6 -3.0
9 well 1 7 -3.0
10 well 1 8 -3.0
11 well 1 9 -3.0
12 well 1 10 -3.0
13 well 1 11 -3.0
14 well 1 12 -3.0
15 well 1 13 -3.0
16 well 1 14 -3.0
17 well 1 15 -1.7999999999999998
18 well 1 16 -1.0799999999999998
19 well 1 17 -0.6479999999999999
20 well 1 18 -0.3887999999999999
21 well 1 19 -0.23327999999999993
22 well 1 20 -0.13996799999999995
23 well 1 21 -0.08398079999999997
24 well 1 22 -0.05038847999999998
25 well 1 23 -0.030233087999999984
26 well 1 24 -0.018139852799999988
27 well 1 25 -0.010883911679999993
28 well 1 26 -0.006530347007999996
29 well 1 27 -0.0039182082047999976
30 well 1 28 -0.0023509249228799984
31 well 1 29 -0.001410554953727999
32 well 1 30 -0.0008463329722367994
33 well 1 31 -0.0005077997833420796
34 well 1 32 -0.0003046798700052478
35 well 1 33 -0.00018280792200314866
36 well 1 34 -0.0001096847532018892
37 well 1 35 -6.581085192113351e-05
38 well 1 36 -3.948651115268011e-05
39 well 1 37 -2.3691906691608062e-05
40 well 1 38 -1.4215144014964837e-05
41 well 1 39 -8.529086408978902e-06
42 well 1 40 -5.117451845387341e-06
43 well 1 41 -3.0704711072324042e-06
44 well 1 42 -1.8422826643394425e-06
45 well 1 43 -1.1053695986036654e-06
46 well 1 44 -6.632217591621993e-07
47 well 2 0 -3.0
48 well 2 1 -3.0
49 well 2 2 -3.0
50 well 2 3 -3.0
51 well 2 4 -3.0
52 well 2 5 -3.0
53 well 2 6 -3.0
54 well 2 7 -3.0
55 well 2 8 -3.0
56 well 2 9 -3.0
57 well 2 10 -3.0
58 well 2 11 -3.0
59 well 2 12 -1.7999999999999998
60 well 2 13 -1.0799999999999998
61 well 2 14 -0.6479999999999999
62 well 2 15 -0.3887999999999999
63 well 2 16 -0.23327999999999993
64 well 2 17 -0.13996799999999995
65 well 2 18 -0.08398079999999997
66 well 2 19 -0.05038847999999998
67 well 2 20 -0.030233087999999984
68 well 2 21 -0.018139852799999988
69 well 2 22 -0.010883911679999993
70 well 2 23 -0.006530347007999996
71 well 2 24 -0.0039182082047999976
72 well 2 25 -0.0023509249228799984
73 well 2 26 -0.001410554953727999
74 well 2 27 -0.0008463329722367994
75 well 2 28 -0.0005077997833420796
76 well 2 29 -0.0003046798700052478
77 well 2 30 -0.00018280792200314866
78 well 2 31 -0.0001096847532018892
79 well 2 32 -6.581085192113351e-05
80 well 2 33 -3.948651115268011e-05
81 well 2 34 -2.3691906691608062e-05
82 well 2 35 -1.4215144014964837e-05
83 well 2 36 -8.529086408978902e-06
84 well 2 37 -5.117451845387341e-06
85 well 2 38 -3.0704711072324042e-06
86 well 2 39 -1.8422826643394425e-06
87 well 2 40 -1.1053695986036654e-06
88 well 2 41 -6.632217591621993e-07
89 well 2 42 -3.9793305549731955e-07
90 well 2 43 -2.3875983329839174e-07
91 well 2 44 -1.4325589997903504e-07
92 well 3 0 -3.0
93 well 3 1 -3.0
94 well 3 2 -3.0
95 well 3 3 -3.0
96 well 3 4 -3.0
97 well 3 5 -3.0
98 well 3 6 -3.0
99 well 3 7 -3.0
100 well 3 8 -3.0
101 well 3 9 -3.0
102 well 3 10 -3.0
103 well 3 11 -3.0
104 well 3 12 -3.0
105 well 3 13 -3.0
106 well 3 14 -3.0
107 well 3 15 -3.0
108 well 3 16 -1.7999999999999998
109 well 3 17 -1.0799999999999998
110 well 3 18 -0.6479999999999999
111 well 3 19 -0.3887999999999999
112 well 3 20 -0.23327999999999993
113 well 3 21 -0.13996799999999995
114 well 3 22 -0.08398079999999997
115 well 3 23 -0.05038847999999998
116 well 3 24 -0.030233087999999984
117 well 3 25 -0.018139852799999988
118 well 3 26 -0.010883911679999993
119 well 3 27 -0.006530347007999996
120 well 3 28 -0.0039182082047999976
121 well 3 29 -0.0023509249228799984
122 well 3 30 -0.001410554953727999
123 well 3 31 -0.0008463329722367994
124 well 3 32 -0.0005077997833420796
125 well 3 33 -0.0003046798700052478
126 well 3 34 -0.00018280792200314866
127 well 3 35 -0.0001096847532018892
128 well 3 36 -6.581085192113351e-05
129 well 3 37 -3.948651115268011e-05
130 well 3 38 -2.3691906691608062e-05
131 well 3 39 -1.4215144014964837e-05
132 well 3 40 -8.529086408978902e-06
133 well 3 41 -5.117451845387341e-06
134 well 3 42 -3.0704711072324042e-06
135 well 3 43 -1.8422826643394425e-06
136 well 3 44 -1.1053695986036654e-06
137 well 4 0 -3.0
138 well 4 1 -3.0
139 well 4 2 -1.7999999999999998
140 well 4 3 -1.0799999999999998
141 well 4 4 -0.6479999999999999
142 well 4 5 -0.3887999999999999
143 well 4 6 -0.23327999999999993
144 well 4 7 -0.13996799999999995
145 well 4 8 -0.08398079999999997
146 well 4 9 -0.05038847999999998
147 well 4 10 -0.030233087999999984
148 well 4 11 -0.018139852799999988
149 well 4 12 -0.010883911679999993
150 well 4 13 -0.006530347007999996
151 well 4 14 -0.0039182082047999976
152 well 4 15 -0.0023509249228799984
153 well 4 16 -0.001410554953727999
154 well 4 17 -0.0008463329722367994
155 well 4 18 -0.0005077997833420796
156 well 4 19 -0.0003046798700052478
157 well 4 20 -0.00018280792200314866
158 well 4 21 -0.0001096847532018892
159 well 4 22 -6.581085192113351e-05
160 well 4 23 -3.948651115268011e-05
161 well 4 24 -2.3691906691608062e-05
162 well 4 25 -1.4215144014964837e-05
163 well 4 26 -8.529086408978902e-06
164 well 4 27 -5.117451845387341e-06
165 well 4 28 -3.0704711072324042e-06
166 well 4 29 -1.8422826643394425e-06
167 well 4 30 -1.1053695986036654e-06
168 well 4 31 -6.632217591621993e-07
169 well 4 32 -3.9793305549731955e-07
170 well 4 33 -2.3875983329839174e-07
171 well 4 34 -1.4325589997903504e-07
172 well 4 35 -8.595353998742102e-08
173 well 4 36 -5.157212399245261e-08
174 well 4 37 -3.0943274395471566e-08
175 well 4 38 -1.8565964637282937e-08
176 well 4 39 -1.1139578782369761e-08
177 well 4 40 -6.683747269421856e-09
178 well 4 41 -4.0102483616531134e-09
179 well 4 42 -2.4061490169918677e-09
180 well 4 43 -1.4436894101951206e-09
181 well 4 44 -8.662136461170723e-10
182 well 5 0 -3.0
183 well 5 1 -3.0
184 well 5 2 -3.0
185 well 5 3 -3.0
186 well 5 4 -3.0
187 well 5 5 -3.0
188 well 5 6 -3.0
189 well 5 7 -3.0
190 well 5 8 -3.0
191 well 5 9 -3.0
192 well 5 10 -3.0
193 well 5 11 -3.0
194 well 5 12 -3.0
195 well 5 13 -3.0
196 well 5 14 -1.7999999999999998
197 well 5 15 -1.0799999999999998
198 well 5 16 -0.6479999999999999
199 well 5 17 -0.3887999999999999
200 well 5 18 -0.23327999999999993
201 well 5 19 -0.13996799999999995
202 well 5 20 -0.08398079999999997
203 well 5 21 -0.05038847999999998
204 well 5 22 -0.030233087999999984
205 well 5 23 -0.018139852799999988
206 well 5 24 -0.010883911679999993
207 well 5 25 -0.006530347007999996
208 well 5 26 -0.0039182082047999976
209 well 5 27 -0.0023509249228799984
210 well 5 28 -0.001410554953727999
211 well 5 29 -0.0008463329722367994
212 well 5 30 -0.0005077997833420796
213 well 5 31 -0.0003046798700052478
214 well 5 32 -0.00018280792200314866
215 well 5 33 -0.0001096847532018892
216 well 5 34 -6.581085192113351e-05
217 well 5 35 -3.948651115268011e-05
218 well 5 36 -2.3691906691608062e-05
219 well 5 37 -1.4215144014964837e-05
220 well 5 38 -8.529086408978902e-06
221 well 5 39 -5.117451845387341e-06
222 well 5 40 -3.0704711072324042e-06
223 well 5 41 -1.8422826643394425e-06
224 well 5 42 -1.1053695986036654e-06
225 well 5 43 -6.632217591621993e-07
226 well 5 44 -3.9793305549731955e-07
227 well 6 0 -3.0
228 well 6 1 -3.0
229 well 6 2 -3.0
230 well 6 3 -3.0
231 well 6 4 -3.0
232 well 6 5 -3.0
233 well 6 6 -3.0
234 well 6 7 -3.0
235 well 6 8 -3.0
236 well 6 9 -3.0
237 well 6 10 -3.0
238 well 6 11 -3.0
239 well 6 12 -3.0
240 well 6 13 -3.0
241 well 6 14 -3.0
242 well 6 15 -3.0
243 well 6 16 -3.0
244 well 6 17 -3.0
245 well 6 18 -3.0
246 well 6 19 -3.0
247 well 6 20 -3.0
248 well 6 21 -3.0
249 well 6 22 -3.0
250 well 6 23 -3.0
251 well 6 24 -3.0
252 well 6 25 -3.0
253 well 6 26 -3.0
254 well 6 27 -3.0
255 well 6 28 -3.0
256 well 6 29 -3.0
257 well 6 30 -3.0
258 well 6 31 -3.0
259 well 6 32 -3.0
260 well 6 33 -3.0
261 well 6 34 -3.0
262 well 6 35 -3.0
263 well 6 36 -3.0
264 well 6 37 -3.0
265 well 6 38 -3.0
266 well 6 39 -3.0
267 well 6 40 -3.0
268 well 6 41 -3.0
269 well 6 42 -3.0
270 well 6 43 -3.0
271 well 6 44 -3.0