Giter VIP home page Giter VIP logo

cytomulate's Introduction

Kevin Wang

He/Him/His. Currently working on school, writing quirky software, and most likely watching YouTube :)

forthebadge forthebadge

What I like:

  • 📊📉Statistics, machine learning, and data science
  • 💻🖱Digital humanities
  • 📚📔Poetry and fiction
  • 😍Monchhichis, 🏞 Nature, 🥈Fitness, 🎧Audio

Projects and Publications:

  • Yang et al. (2023) in Genome Biology
  • An elegant data analysis tool for CyTOF
  • A mega package for CyTOF workflows, including CytofDR and cytomulate
  • Introducting PyCytoData Alliance and PyCytoData Alliance Plus
  • Yang et al. (2023) in Genome Biology
  • An accurate and efficient simulation tool for CyTOF
  • My contributions: The maintenance guy who fixes stuff, mops up bits and pieces of code, and writes documentations.
  • Find out how poetic YOU are via a statistical model!
  • I'm working on this (as time allows, that is.) I promise!
  • Stable releases are now out! Check it out!

Goals and motivations:

  • Stay healthy and fit!
  • Research principles: Adaptability, Interpretability, and Usability!
  • Contribute to open source!

Follow me:

Kevin's github stats Top Languages

cytomulate's People

Contributors

kevin931 avatar pokercard avatar yuqiu-yang avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

cytomulate's Issues

[Documentation] Repository Workflows and Our Setups

I think the way we are managing this repo (in fact any PyCyto repos) are not obvious to newcomers. We should have a more thorough documentation on this, and provide a step-by-step guide on how people can meaningfully contribute to our project. Our current page offers some good guidelines, but it doesn't reflect the structure of the project. I will work on this once I have time.

cytomulate.utilities.linear_function support list or array?

Currently, the cytomulate.utilities.linear_function returns a function that does not support a list input as t. However, the Akima1DInterpolator does.

To reproduce the error

import cytomulate
import numpy as np

func =  cytomulate.utilities.linear_function(1, 2)
func(0.1) # Okay
func(np.array([0.1, 0.2]) # Okay
func([0.1, 0.2]) # Error

Behavior of Akima1DInterpolator

import cytomulate
import numpy as np

func =  cytomulate.utilities.smooth_brownian_bridge(1, 2, sigma2=0.5)
func(0.1) # Okay
func(np.array([0.1, 0.2])) # Okay
func([0.1, 0.2]) # Okay

Related Issue

The return type of cytomulate.utilities.linear_function now depends on the input. Do we want to make it return an array regardless?

Solution

Depending on what the intended use cases are, we can do one of the following:

  • Check input type and cast the list to an numpy array or throw an Exception
  • Make our function consistent with the Akima1DInterpolator

Our typing and documentation need to reflect the changes according.

[Feature Request] Update CI pipelines

What feature would you like to propose?

It may be time to update our CI pipelines to include newer versions of Python: at least 3.11. This will ensure better compatibility going forward.

How do you envision this feature to be implemented?
We can just try it and see if there are problems.

Possibility of a global seed?

Will all our random number generation occur with numpy? At some point, it will be helpful to implement a global seed (or at an appropriate entry point of our package), especially for predefined, reproducible workflows. We will also think more carefully how this should be tested because we don't want to break user space once this is implemented (i.e. Backwards compatibility and reproducibility).

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.