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
Media Cloud Outlet Filtering

Using ABYZ and Media-Bias Fact-Check outlet databases, I've provided outlet CSV files for both and scripts to intended to match Media Cloud files to respective outlets.

Stephen Scarano 1 Feb 02, 2022
Hacking and Learning consistently for 100 days straight af.

#100DaysOfHacking Hacking and Learning consistently for 100 days straight af. [yes, no breaks except mental-break ones, Obviously.] This Repo is one s

FENIL SHAH 17 Sep 09, 2022
With Christmas and New Year ahead, it is time for some festive coding. Here is a Christmas Card for you all!

Christmas Card With Christmas and New Year ahead, it is time for some festive coding! Here is a Christmas Card for you all! NOTE: I have not made this

CodeMaster7000 1 Dec 25, 2021
This repository contains the exercices for the robotics class at Supaero, 2022.

Supaero robotics, 2022 This repository contains the exercices for the robotics class at Supaero, 2022. The exercices are organized by notebook. Each n

Gepetto team, LAAS-CNRS 5 Aug 01, 2022
Extend the maya channel box with searchability and colour

channel-box-plus will add search-ability over its attributes, and it will colour user defined attributes, making them easier to distinguish.

Robert Joosten 12 Jun 08, 2022
Backup dc registry - A simple POC that abuses Backup Operator privileges to remote dump SAM, SYSTEM, and SECURITY

Backup Operator Registry Backup to Domain Compromise A simple POC that abuses Ba

Horizon 3 AI Inc 57 Dec 18, 2022
A complex language with high level programming and moderate syntax.

zsq a complex language with high level programming and moderate syntax.

an aspirin 6 Jun 25, 2022
Final Fantasy XIV Auto House Clicker

Final Fantasy XIV Auto House Clicker

KanameS 0 Mar 31, 2022
Collection of Python scripts to perform Eikonal Tomography

Collection of Python scripts to perform Eikonal Tomography

Emanuel Kästle 10 Nov 04, 2022
NewsBlur is a personal news reader bringing people together to talk about the world.

NewsBlur NewsBlur is a personal news reader bringing people together to talk about the world.

Samuel Clay 6.2k Dec 29, 2022
Py4J enables Python programs to dynamically access arbitrary Java objects

Py4J Py4J enables Python programs running in a Python interpreter to dynamically access Java objects in a Java Virtual Machine. Methods are called as

Barthelemy Dagenais 1k Jan 02, 2023
Our Ping Pong Project of numerical analysis, 2nd year IC B2 INSA Toulouse

Ping Pong Project The objective of this project was to determine the moment of impact of the ball with the ground. To do this, we used different model

0 Jan 02, 2022
A tool to flash .ofp files in bootloader mode without needing MSM Tool, an alternative to official realme tool

Oppo/Realme Flash .OFP File on Bootloader A tool to flash .ofp files in bootloader mode without needing MSM Tool, an alternative to official realme to

Italo Almeida 70 Jan 02, 2023
Simple programming language built on Python.

Serial Another programming language. Built on Python. Building and running program In order to run the program on serial, unfortunately you still need

Aleksey Demchenkov 1 Dec 09, 2021
Uma moeda simples e segura!

SecCoin - Documentação A SecCoin foi criada com intuito de ser uma moeda segura, de fácil investimento e mineração. A Criptomoeda está na sua primeira

Sec-Coin Team 5 Dec 09, 2022
This script provides LIVE feedback for On-The-Fly data collection with RELION

README This script provides LIVE feedback for On-The-Fly data collection with RELION (very useful to explore already processed datasets too!) Creating

cryoEM CNIO 6 Jul 14, 2022
A simple app that helps to train quick calculations.

qtcounter A simple app that helps to train quick calculations. Usage Manual Clone the repo in a folder using git clone https://github.com/Froloket64/q

0 Nov 27, 2021
A python script to simplify recompiling, signing and installing reverse engineered android apps.

urszi.py A python script to simplify the Uninstall Recompile Sign Zipalign Install cycle when reverse engineering Android applications. It checks if d

Ahmed Harmouche 4 Jun 24, 2022
A Classroom Engagement Platform

Project Introduction This is project introduction Setup Setting up Postgres This is the most tricky part when setting up the application. You will nee

Santosh Kumar Patro 1 Nov 18, 2021
GA SEI Unit 4 project backend for Bloom.

Grow Your OpportunitiesTM Background Watch the Bloom Intro Video At Bloom, we believe every job seeker deserves an opportunity to find meaningful work

Jonathan Herman 3 Sep 20, 2021