Skip to main content

a script to process yeast plate image into figures

Project description

Spotifier

This script to covert pre-processed plate images into figures.

Nothing fancy at the moment, no deep learning segmentation ;-) the script works using plates spotted according to provided template. Still, this helps to get this task done quicker!

! Download a set of templates for copper plates https://github.com/mmagnus/yeast-spotifier/releases/download/v1.0/templates-for-copper-plates.zip !

Table of Contents

Created by gh-md-toc

Options

usage: spotifier.py [-h] [-v] [-d] [--align] [-x X] [-y Y]
		    [--trim-rms TRIM_RMS] [--size SIZE] [-a]
		    map file [file ...]

install to work on psd files: psd-tools3

positional arguments:
  map                  map
  file                 pre-processed image(s)

optional arguments:
  -h, --help           show this help message and exit
  -v, --verbose        be verbose
  -d, --debug          be even more verbose
  --align              align dots
  -x X
  -y Y
  --trim-rms TRIM_RMS
  --size SIZE
  -a, --dont-annotate

Fig. -t, trim background to get nicely formatted dots.

Prepare image

Open the image:

Image -> Adjustments -> Black & white OR cmd+alt+shift+b

Inverse color (cmd+i)

Adjust Levels (cmd+l), select black backgroud with the black pippette and white for the white pippette.

Crop image and Edit -> Image Rotation -> Flip Canvas Horizontal.

Adjust the image to the template

Open template.psd and drag and drop plate photo

Lower opacity for the imported image, to around 30%, to see the template in the background.

Use Move tool and Free transform fit the image to the template.

Use Move tool and Free transform to move "Rectangle" to cover the plate.

Switch off the Backgroud layer, set Opacity to 100.

Save as a PSD (or jpeg) file, e.g., s02_30.jpeg.

Prepare mapping file

Open a text editor and prepare a file used to map dots into figure.

Run the program:

python spotifier.py testdata/02/s02_30.psd -t -m testdata/02/map.txt

The results should be like this:

and the file s02_30_spots.png should be created in the folder next to the input file (in this case testdata/s02/s02_30_spots.png)


TIP: If you want to introduce one extra, empty line, just add an empty line to a map file.

Customization

If you want to move single dots, use Preview and just move them around, save it (if you open a JPG, you will be asked if you want to convert the file to PNG, yeah, do it, remember only to change the file name in the command, 18_X.png).

and re-run:

python spotifier.py testdata/02/18_X.png -t -m testdata/02/map.txt

Use play with Opacity to see Backgound with the template to adjust positions of your dosts.

Mappings

Some ideas for your plates ;-):

5, 6, 7
8, 9, 10

12, 13, 14
15, 16, 17

20, 21, 22
23, 24, 25

28, 29, 30
31, 32, 33

36, 37, 38
39, 40, 41

44, 45, 46
47, 48, 49

1,2,3
4,5,6
7,8,9
10,11,12
13,14,15
16,17,18
19,20,21,
22,23,24,
25,26,27,
28,29,30,
31,32,33,
34,35,36,
37,38,39,
40,41,42,
46,47,48,
49,50,51,
52,53,54,
55,56,57,
58,59,60,

1, 2, 3
5, 6, 7
8, 9, 10
12, 13, 14
15, 16, 17
21, 22, 23
24, 25, 26
28, 29, 30
31, 32, 33
36, 37, 38
39, 40, 41
44, 45, 46
47, 48, 49
51, 52, 53
53, 54, 55
57, 58, 59

For reporters

For reporters, prepare each PSD file as described above. Run spotifier.py for each plate to check if everything is correct:

python spotifier.py testdata/repoters/2.txt testdata/repoters/1.psd

and then run this cmd to process each PSD files and combine all outputs into one figure.

python spotifier.py testdata/repoters/2.txt testdata/repoters/*.psd

Digitifier

Process a figure into numbers:

  python digitifier.py 8 6 testdata/digitfier/1_all.png
[  3.         238.12373299 434.86099169 -27.59790191  96.14306032
 289.4862576  391.415654   242.01505869]
          0
0  0.066164
1  0.574584
2  1.000000
3  0.000000
4  0.267572
5  0.685648
6  0.906056
7  0.582999
Output created testdata/digitfier/1_all_plot.png

Install

pip install -e git+http://github.com/mmagnus/yeast-spotifier.git#egg=yeast-spotifier

Changelog

1.1.

  • --dont-align -> --align (align is worse right now hmm... so the default is --dont-align)
  • use -1 in mapping to put a white box, you can use to make spacers for your figures

Mapping: 1,-1,2

1.1 initial code

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

yeast_spotifier-1.1.post0.dev8-py3-none-any.whl (9.3 kB view details)

Uploaded Python 3

File details

Details for the file yeast_spotifier-1.1.post0.dev8-py3-none-any.whl.

File metadata

  • Download URL: yeast_spotifier-1.1.post0.dev8-py3-none-any.whl
  • Upload date:
  • Size: 9.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.25.1 setuptools/49.6.0.post20210108 requests-toolbelt/0.9.1 tqdm/4.43.0 CPython/3.7.4

File hashes

Hashes for yeast_spotifier-1.1.post0.dev8-py3-none-any.whl
Algorithm Hash digest
SHA256 90b4cf2400f4966a3571581637266d3b65f0865b6d3602bac7c2633e366d0d80
MD5 f4a4f82e1d56cbe81dc844e8827b8d53
BLAKE2b-256 2b93aceabfbc94133ac096f5cdcb40125f2f81b3d1f1a19828f5cbd014ddb4cd

See more details on using hashes here.

Provenance

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page