Git Product home page Git Product logo

icfree-ml's Introduction

iCFree

iCFree is a Python-based program designed to automate the process of generating and running a Snakemake workflow for sampling and preparing instructions for laboratory experiments. The program includes components for generating samples, creating plates, and instructing the handling of these plates.

Table of Contents

Installation

  1. Install Conda:

    • Download the installer for your operating system from the Conda Installation page.
    • Follow the instructions on the page to install Conda. For example, on Windows, you would download the installer and run it. On macOS and Linux, you might use a command like:
      bash ~/Downloads/Miniconda3-latest-Linux-x86_64.sh
    • Follow the prompts on the installer to complete the installation.
  2. Install iCFree from conda-forge:

    conda install -c conda-forge icfree

Usage

The main entry point of the program is the __main__.py file. You can run the program from the command line by providing the necessary arguments for each step of the workflow.

Basic Command

python -m icfree --sampler_input_filename <input_file> --sampler_nb_samples <number_of_samples> --sampler_seed <seed> --sampler_output_filename <output_file> --plate_generator_input_filename <input_file> --plate_generator_sample_volume <volume> --plate_generator_default_dead_volume <dead_volume> --plate_generator_num_replicates <replicates> --plate_generator_well_capacity <capacity> --plate_generator_start_well_src_plt <start_well_src> --plate_generator_start_well_dst_plt <start_well_dst> --plate_generat...

Components

Sampler

The sampler.py script generates Latin Hypercube Samples (LHS) for given components.

Usage
python icfree/sampler.py <input_file> <output_file> <num_samples> [--step <step_size>] [--seed <seed>]
Arguments
  • input_file: Input file path with components and their max values.
  • output_file: Output CSV file path for the samples.
  • num_samples: Number of samples to generate.
  • --step: Step size for creating discrete ranges (default: 2.5).
  • --seed: Seed for random number generation for reproducibility (optional).

Plate Generator

The plate_generator.py script generates plates based on the sampled data.

Usage
python icfree/plate_generator.py <input_file> <sample_volume> [options]
Options
  • --default_dead_volume: Default dead volume.
  • --dead_volumes: Dead volumes for specific wells.
  • --num_replicates: Number of replicates.
  • --well_capacity: Well capacity.
  • --start_well_src_plt: Starting well for the source plate.
  • --start_well_dst_plt: Starting well for the destination plate.
  • --output_folder: Folder to save the output files.

Instructor

The instructor.py script generates instructions for handling the generated plates.

Usage
python icfree/instructor.py <source_plate> <destination_plate> <output_instructions> [options]
Options
  • --max_transfer_volume: Maximum transfer volume.
  • --split_threshold: Threshold for splitting components.
  • --source_plate_type: Type of the source plate.
  • --split_components: Components to split.

Example

Here is an example of how to run the program with sample data:

python -m icfree --sampler_input_filename data/components.csv --sampler_nb_samples 100 --sampler_seed 42 --sampler_output_filename results/samples.csv --plate_generator_input_filename results/samples.csv --plate_generator_sample_volume 10 --plate_generator_default_dead_volume 2 --plate_generator_num_replicates 3 --plate_generator_well_capacity 200 --plate_generator_start_well_src_plt A1 --plate_generator_start_well_dst_plt B1 --plate_generator_output_folder results/plates --instructor_max_transfer_volume...

License

This project is licensed under the MIT License. See the LICENSE file for details.

Authors

ChatGPT, OpenAI

icfree-ml's People

Contributors

breakthewall avatar guillaume-gricourt avatar yorgomoubayed avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar

icfree-ml's Issues

Converter throws `'Namespace' object has no attribute 'cfps'`

Version 2.2.0
Command line

python -m icfree.converter parameters.tsv sampling_concentrations.tsv --sample_volume '1000' --output-folder .

throws

  from pandas import read_csv
Traceback (most recent call last):
  File "<frozen runpy>", line 198, in _run_module_as_main
  File "<frozen runpy>", line 88, in _run_code
  File "/usr/local/lib/python3.11/site-packages/icfree/converter/__main__.py", line 108, in <module>
    sys.exit(main())
             ^^^^^^
  File "/usr/local/lib/python3.11/site-packages/icfree/converter/__main__.py", line 75, in main
    args.cfps,
    ^^^^^^^^^
AttributeError: 'Namespace' object has no attribute 'cfps'

Related to brsynth/galaxytools#170

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.