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
BasicVSR++ function for VapourSynth

BasicVSR++ BasicVSR++: Improving Video Super-Resolution with Enhanced Propagation and Alignment Ported from https://github.com/open-mmlab/mmediting De

Holy Wu 34 Nov 28, 2022
A python script to get your activity

activities A python script to get your activity Not complete Requirements Python (=3.7) Pip (for python = 3.7) Git Pip packages psutil asyncio aioht

StarNumber 3 Nov 07, 2021
Pypot ⚙️ A Python library for Dynamixel motor control

Pypot ⚙️ A Python library for Dynamixel motor control Pypot is a cross-platform Python library making it easy and fast to control custom robots based

Poppy Project 238 Nov 21, 2022
Buildium-to-stessa - Automation to assist in converting Buildium transactions into Stessa format

Buildium Transactions - Stessa Transactions There is currently no third-party i

Austin Comstock 4 Apr 17, 2022
[x]it! support for working with todo and check list files in Sublime Text

[x]it! for Sublime Text This Sublime Package provides syntax-highlighting, shortcuts, and auto-completions for [x]it! files. Features Syntax highlight

Jan Heuermann 18 Sep 19, 2022
Building an Investment Portfolio for Day Trade with Python

Montando um Portfólio de Investimentos para Day Trade com Python Instruções: Para reproduzir o projeto no Google Colab, faça o download do repositório

Paula Campigotto 9 Oct 26, 2021
DG - A(n) (unusual) programming language

DG - A(n) (unusual) programming language General structure There are no infix-operators (i.e. 1 + 1) Each operator takes 2 parameters When there are m

1 Mar 05, 2022
Transform a Google Drive server into a VFX pipeline ready server

Google Drive VFX Server VFX Pipeline About The Project Quick tutorial to setup a Google Drive Server for multiple machines access, and VFX Pipeline on

Valentin Beaumont 17 Jun 27, 2022
Custom component to calculate estimated power consumption of lights and other appliances

Custom component to calculate estimated power consumption of lights and other appliances. Provides easy configuration to get virtual power consumption sensors in Home Assistant for all your devices w

Bram Gerritsen 552 Dec 28, 2022
Multiperiod Reports by Month/Quarter/Year in Beancount.

Multiperiod Reports by Month/Quarter/Year in Beancount. Plotting income and expenses over time. Treemap plot of expenses.

Altynbek Isabekov 16 Aug 13, 2022
Source-o-grapher is a tool built with the aim to investigate software resilience aspects of Open Source Software (OSS) projects.

Source-o-grapher is a tool built with the aim to investigate software resilience aspects of Open Source Software (OSS) projects.

Aristotle University 5 Jun 28, 2022
ROS Foxy + Raspi + Adafruit BNO055

ROS Foxy + Raspi + Adafruit BNO055

Ar-Ray 3 Nov 04, 2022
Learning a Little about Containerlab

Learning a Little about Containerlab Hello all. This is the respository based on this blog post. Getting Started Feel free to use this example. You wi

10 Oct 16, 2022
Christmas tree on the desktop.

new-year-tree Christmas tree on the desktop. [Ссылка на статью habr]

Daniil Gorbenko 10 Dec 29, 2022
Platform Tree for Xiaomi Redmi Note 7/7S (lavender)

The Xiaomi Redmi Note 7 (codenamed "lavender") is a mid-range smartphone from Xiaomi announced in January 2019. Device specifications Device Xiaomi Re

MUHAMAD KHOIRON 2 Dec 20, 2021
This is an online course where you can learn and master the skill of low-level performance analysis and tuning.

Performance Ninja Class This is an online course where you can learn to find and fix low-level performance issues, for example CPU cache misses and br

Denis Bakhvalov 1.2k Dec 30, 2022
Python script to combine the statistical results of a TOPAS simulation that was split up into multiple batches.

topas-merge-simulations Python script to combine the statistical results of a TOPAS simulation that was split up into multiple batches At the top of t

Sebastian Schäfer 1 Aug 16, 2022
SciPy library main repository

SciPy SciPy (pronounced "Sigh Pie") is an open-source software for mathematics, science, and engineering. It includes modules for statistics, optimiza

SciPy 10.7k Jan 09, 2023
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
Quantity Takeoff with Python. Collecting groups of elements by filters

The free tool QuantityTakeoff allows you to group elements from Revit and IFC models (in BIMJSON-CSV format) with just a few filters and find the required volume values for the grouped elements.

OpenDataBIM 9 Jan 06, 2023