cyto

command module
v0.0.0-...-824d9e7 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 11, 2025 License: GPL-3.0 Imports: 1 Imported by: 0

README ΒΆ

cyto

Cyto is a Go library for cytometry data analysis.

  • It provides tools to parse, process, and analyze Flow Cytometry Standard (FCS) files (FCS 3.1 standard).

πŸ“¦ Features

  • Read and parse .fcs files
  • Access FCS metadata and event data
  • Command-line interface for basic operations

πŸ› οΈ Installation

Prerequisites
Using Go Get
go get github.com/immunoconductor/cyto@latest

The binary will be placed in $GOBIN (default: $HOME/go/bin). Make sure that directory is in your PATH:

export PATH="$PATH:$(go env GOPATH)/bin"
Clone Repository
git clone https://github.com/immunoconductor/cyto.git
cd cyto
go build
Import as Module

Add it to your module by importing:

import "github.com/immunoconductor/cyto/fcs"

Then run:

go mod tidy

πŸ“‹ Usage

Command Line Interface

Convert FCS files to CSV format:

cyto fcs -i example.fcs -o example.csv

Convert FCS files to CSV format with transformation and shortnames for headings:

cyto fcs -i example.fcs -o example.csv --transform --shortnames

Output names:

cyto fcs -i example.fcs --names

Options:

  • -i: Input FCS file path
  • -o: Output CSV file path
  • --transform: Apply arcsinh transformation to the data
  • --shortnames: Use short names (concise identifiers)
  • --names: Output names (channel identifiers)
Go Library Example
import "github.com/immunoconductor/cyto/fcs"

func main() {
    fcs, err := fcs.Read("fcs3.1.fcs", false)
    if err != nil {
        t.Errorf(err.Error())
    }

    fmt.Println(fcs.Names())
}

πŸ“Š Documentation

Documentation is currently under development. For now, please refer to the code comments and examples in this README.

πŸ”„ Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add some amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

πŸ“„ License

This project is licensed under the GPL-3 License - see the LICENSE file for details.

πŸ™ Acknowledgments

  • Contributors to the project
  • The Flow Cytometry community

Documentation ΒΆ

The Go Gopher

There is no documentation for this package.

Directories ΒΆ

Path Synopsis
cmd
fcs
fcs
internal

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL