The official repository of iGEM Paris Bettencourt team's software tools.

Overview

iGEM_ParisBettencourt21

The official repository of iGEM Paris Bettencourt team's software tools.

Cell counting

There are two programs dedicated to the cell counting from the GFP images obtained from the experiments.

The first python program(gfpminicell_count.py) involves the following image processing techniques

  • cleaning by border stripping
  • gray-scaling
  • gaussian blurring
  • binary thresholding for preparing the processed image

The second program(cell_count.py) involves additional sharpening and thresholding techniques before gaussian blurring in order to capture the full contours of different sized images. So in sequence, the image goes through cleaning -> gray-scaling -> filter-convolved sharpening -> binary thresholding -> gaussian blurring -> final binary thresholding.

For the final counting, a procedure called contour mapping from OpenCV is used and the corresponding contours are counted as the number of cells seen on the processed images.

Example Images

There are two folders dedicated to store images for each of the two programs described above:

  • Cells folder consists of sample images containing both mother and minicells and
  • Minicells folder has Green Fluorescent Protein (GFP) images of only minicells

Running the program for cell counting

We need a basic python environment and preferably Miniconda or Anaconda as they help keep all the packages modular

  • In order to install the required packages for this program, run the following command that uses python3-pip: pip3 install -r requirements.txt

  • For minicell counting (from images that has only minicells filtered), put them in the Minicells folder and run the following command python gfpminicell_count.py -i GFPMinicells/3.png

  • For cell counting from images that includes both mother and minicells, put them in the Cells folder and run the following command in the main folder containing the .py file python cell_count.py -i Cells/mgfp01.JPG

    Note: Cells/mgfp01.JPG and Minicells/1.png are just sample images from the example folders, they could be replaced by GFP microscopic images with the corresponding relative path to the files

Interpreting results

The program outputs:

  • Original border-cropped image: "Cleaned-original image"

Example: GFPMinicells/3.png

  • Final processed image on which the contours are mapped and counted: "Contour-ready image"

Example: Contour-ready3.png

  • The number of cells counted in the GFP image: "cell-count" (Also in the window-caption of the processed image) Example above: cell-count is 18

Another (Mini)cells count example

Example: Cells/mgfp01.JPG

Image uploader

The image_uploading_bot.py script is dedicated to automated web navigation. It uses the selenium python extensions to

  • Upload a set of images from a local folder to the igem servers
  • Store the data of the uploaded files for accessible wiki editing

minicell producing culture models

There are two version of simulation for culture of minicell producing strains:

  • version 1 is an algorithmic approach for low number of cells
  • version 2 is another approach using approximation of partial differential equations

version 1

On the first version called minicell_bioproduction_model_v1.py different simulation where implementated according to different assumptions. The ouput are graphs of cell growing and minicell/mothercell counting

Owner
Abhay Koushik
I am an Engineer, Artist, and Researcher exploring Neurosciences and Psychology.
Abhay Koushik
ThnoolBox - A thneed is a multi-use versatile object

ThnoolBox Have you ever wanted a collection of bodged desktop apps that are Lorax themed ? No ? Sucks to suck I guess Apps & their downsides CalculaTh

pocoyo 1 Jan 21, 2022
Bring A Trailer(BAT) is a popular online auction website for enthusiast cars. This traverse auction results and saves them as CSV

BaT Data Grabber Bring A Trailer(BAT) is a popular online auction website for enthusiast cars. This traverse auction results and saves them as CSV Bri

Elliot Weil 2 Oct 31, 2021
A middle-to-high level algorithm book designed with coding interview at heart!

Hands-on Algorithmic Problem Solving A one-stop coding interview prep book! About this book In short, this is a middle-to-high level algorithm book de

Li Yin 1.8k Jan 02, 2023
Vita Specific Patches and Application for Doki Doki Literature Club (Steam Version) using Ren'Py PSVita

Doki-Doki-Literature-Club-Vita Vita Specific Patches and Application for Doki Doki Literature Club (Steam Version) using Ren'Py PSVita Contains: Modif

Jaylon Gowie 25 Dec 30, 2022
An attempt at furthering Factorio Calculator to work in more general contexts.

factorio-optimizer Lets do Factorio Calculator but make it optimize. Why not use Factorio Calculator? Becuase factorio calculator is not general. The

Jonathan Woollett-Light 1 Jun 03, 2022
Object-oriented programming (OOP) is a method of structuring a program by bundling related properties and behaviors into individual objects. In this tutorial, you’ll learn the basics of object-oriented programming in Python.

06_Python_Object_Class Introduction 👋 Objected oriented programming as a discipline has gained a universal following among developers. Python, an in-

Milaan Parmar / Милан пармар / _米兰 帕尔马 239 Dec 20, 2022
Team Curie is a group of people working together to achieve a common aim

Team Curie is a group of people working together to achieve a common aim. We are enthusiasts!.... We are setting the pace!.... We offer encouragement and motivation....And we believe TeamWork makes t

4 Aug 07, 2021
A refresher for PowerBI Desktop documents

PowerBI_Refresher-NPP Informació Per executar el programa s'ha de tenir instalat el python versio 3 o mes. Requeriments a requirements.txt. El fitxer

Nil Pujol 1 May 02, 2022
Herramienta para poder automatizar reuniones en Zoom.

Crear Reunión Zoom con Python Herramienta para poder automatizar reuniones en Zoom. Librerías Requeridas Nombre Comando PyAutoGui pip install pyautogu

JkDev 3 Nov 12, 2022
A simple flashcard app built as a final project for a databases class.

CS2300 Final Project - Flashcard app 'FlashStudy' Tech stack Backend Python (Language) Django (Web framework) SQLite (Database) Frontend HTML/CSS/Java

Christopher Spencer 2 Feb 03, 2022
AHP Calculator - A method for organizing and evaluating complicated decisions, using Maths and Psychology

AHP Calculator - A method for organizing and evaluating complicated decisions, using Maths and Psychology

16 Aug 08, 2022
Data Science Course at Dept. of Computer Engineering, Chula 2022

2110446 Data Science Course at Chula 2022 Short links for exercises: Week1: Intro to Numpy, Pandas Numpy: https://colab.research.google.com/github/kao

Kao Panboonyuen 17 Nov 27, 2022
Runtime Type Checking in Python 3

typo This package intends to provide run-time type checking for functions annotated with argument type hints (standard library typing module in Python

Ivan Smirnov 26 Dec 13, 2022
General Purpose Python Library by Techman

General Purpose Python Library by Techman

Jack Hubbard 0 Feb 09, 2022
NExT-Ford-aula4 - NExT Ford aula4

Questão 1: vocês deveram fazer o passo a passo de como ficará as pilhas(Stack) e

Gerson 1 Jan 06, 2022
LibreMind is a free meditation app made in under 24 hours. It has various meditation, breathwork, and visualization exercises.

libreMind Meditation exercises What is it? LibreMind is a free meditation app made in under 24 hours. It has various meditation, breathwork, and visua

1 May 24, 2022
Custom SLURM wrapper scripts to make finding job histories and system resource usage more easily accessible

SLURM Wrappers Executables job-history A simple wrapper for grabbing data for completed and running jobs. nodes-busy Developed for the HPC systems at

Sara 2 Dec 13, 2021
A general illumination correction method for optical microscopy.

CIDRE About CIDRE is a retrospective illumination correction method for optical microscopy. It is designed to correct collections of images by buildin

Kevin Smith 31 Sep 07, 2022
Python DSL for writing PDDL

PDDL in Python – Python DSL for writing a PDDL A minimal implementation of a DSL which allows people to write PDDL in python. Based on parsing python’

International Business Machines 21 Nov 22, 2022
Odoo. Open Source Apps To Grow Your Business.

Odoo Odoo is a suite of web based open source business apps. The main Odoo Apps include an Open Source CRM, Website Builder, eCommerce, Warehouse Mana

Odoo 27.6k Jan 09, 2023