semvec/pypi-packages huggingface dataset:
mlflow-mlserver-docker 0.4.1
Package mlflow models as mlserver docker images
Requires Python: >=3.8,<4.0

# Mlflow Mlserver Docker

This is a utility package for building mlserver docker images based on MLflow models on a remote
tracking server.

Currently, the S3 backend is the only officially supported backend, but any backend should work just
fine as long as you have all the required dependencies installed. If you're interested in other
backends let me know.

## Installation

```
pip install mlflow-mlserver-docker
```

## Usage

```sh
mlflow-mlserver-docker build runs:/fg8934ug54eg9hrdegu904/model
```

## Development

```sh
poetry install
poetry self add poetry-version-plugin
```

Make sure `docker` is running.
streamit-keboola-api 0.1.6
Wrapper around Kebolla python client to list tables, buckets and upload files to stage
Requires Python: >=3.7

# streamlit-keboola-api

Streamlit custom component wrapping Keboola python client to list tables, buckets and upload files to stage.

## Installation instructions 

```sh
pip install streamit-keboola-api
```

## Usage instructions

```python
from io import StringIO
import os
import streamlit as st
from pathlib import Path
import keboola_api as kb

def saveFile(uploaded):
    with open(os.path.join(os.getcwd(),uploaded.name),"w") as f:
        strIo= StringIO(uploaded.getvalue().decode("utf-8"))
        f.write(strIo.read())
        return os.path.join(os.getcwd(),uploaded.name)

def main():
    st.write("# Keboola upload button")
    st.write("## A Streamlit Custom component")
    with st.expander("Keboola Tables"):
        tables=kb.keboola_table_list(
                keboola_URL="https://connection.north-europe.azure.keboola.com",
                keboola_key='<key>',
                # Button Label
                label="GET TABLES",
                # Key is mandatory
                key="zero"
        )
        st.selectbox("Tables",options= list(map(lambda v: v['id'], tables)))
    with st.expander("Keboola Buckets"):    
        buckets=kb.keboola_bucket_list(
                keboola_URL="https://connection.north-europe.azure.keboola.com",
                keboola_key='<key>',
                # Button Label
                label="GET BUCKETS",
                # Key is mandatory
                key="one"
        )
        st.selectbox("Buckets",options= list(map(lambda v: v['id'], buckets)))
    url = "http://www.dickimaw-books.com/latex/admin/html/examples/booklist.csv"
    st.write("Get a sample CSV here [link](%s)" % url)    
    fl=st.file_uploader("Drop a csv...",type="csv")    
    if hasattr(fl,'name'):
        # Streamlit uploader doesn't save the file to disk, only in mem. 
        # We need to save the file to disk to send it to Keboola python client
        fpath=saveFile(fl)
        with st.expander("Keboola Upload files"):    
            value = kb.keboola_upload(
                keboola_URL="https://connection.north-europe.azure.keboola.com",
                keboola_key='<key>',
                keboola_table_name="test-anthony",
                keboola_bucket_id='in.c-streamlit_output',
                keboola_file_path=fpath,
                keboola_primary_key=['id'],
                # Button Label
                action="UPLOAD FILE",
                # Key is mandatory
                key="two"
            )
            value
beret-beige 0.0.6
Bayesian Effect size Inference with Guide counts and Editing rate

# <img src="graphics/beige2.svg" alt="beige" width="150"/>
**B**ayesian variant **E**ffect **I**nference with **G**uide counts and **E**diting outcome.  

This is a generative-model-based CRISPR screen analysis software for that can account for   
*  :bar_chart: Multiple FACS sorting bins
*  :waning_gibbous_moon: Incomplete editing rate
*  :mag: Multiple target variant/bystander edit (under development)  

BEIGE models the cellular phenotype of CRISPR sorting screen data as mixture distribution. The cells will be sorted based on the theoretical quantile based on (unperturbed) control distribution and your FACS sorting quantiles. The sorted samples (red box in below schematic) are sequenced to produce the final guide counts.

<img src="graphics/model_design.svg" alt="model_design" width="500"/>

Its inference uses SVI (Stochastic Variational Inference) through [Pyro](http://pyro.ai/) to fit the posterior phenotype distribution of target element perturbation. 

## Installation 
```
pip install beret-beige
```

## Usage
### CRISPR screen data without reporter information
```
beige myScreen.h5ad --prefix=my_analysis [--fit-pi|--perfect-edit|--guide_activity_column]
```
`myScreen.h5ad` must be formatted in `Screen` object in [perturb-tools](https://github.com/pinellolab/perturb-tools) package.
If you don't have reporter information measured, you can take one of three options for analysis:
1. `--fit-pi` : Editing rate is fitted so that overall likelihood of the model is maximized.
2. `--perfect-edit` : Assuming editing rate is 1 for all guides. This option is recommended over 1) based on the inference accuracy in simulation data.
3. `--guide_activity_column=your_col_name` : If you want to use external information about guide activity estimated using other software, input the guide activity in the Screen.guides DataFrame (see `Screen` object in [perturb-tools](https://github.com/pinellolab/perturb-tools)).Pass the column name as the argument.(under development)

### CRISPR screen data with reporter information
```
beige myReporterScreen.h5ad --prefix=my_analysis [--rep-pi]
```
`myReporterScreen.h5ad` must be formatted in `ReporterScreen` object in [beret](https://github.com/pinellolab/beret) package.  
*  `--rep-pi` : If you suspect your biological replicate will have overall different level of editing rates, you can let the model to fit the replicate specific scaling factor of editing rate using this option.

## Caveat
BEIGE assumes the phenotype distribution pre-sort sample is the same as the negative control. Whereas this assumption can be safely considered as true in case of variant screens, this may not hold true if you expect large phenotypical shift for the majority of perturbed elements.