--- a +++ b/README.md @@ -0,0 +1,66 @@ +# bio-aid +Package containing tools for genetic and genomic analysis in python in the Malkova Lab. + +Includes a collection of functions from my other repositories for easier development of new projects + +## Installation +The latest release of the bio-aid package can be installed through pip (https://pypi.org/project/bio-aid/) by using the following command: +```bash +pip install --upgrade bio-aid +``` +bio-aid currently consists of a base module and three sub modules: `deepSeqInsH`, `MMBSearchTK`, `varaintTK`. + +To easily import and access the functions inside of the bio-aid package, include the following in your `python` scripts: + +```python +import BioAid as ba +``` +## Diluter +This simple program calculates volumes for serial dilutions of yeast cultures, that can subsequently be used for colony plating. To access diluter, in `python` type: +```python +ba.dilute() +``` +and follow instructions on the prompt. + +## PopDub +Utillity for finding population doublings for the Telomere project. + +To get results you will need to adjust initial and final population densities: +- set `initial_population` to the cell count on the beginning of your experiment used as inoculum. +- set `final_population_ml` to the /ml cell count at the time you want to measure population doublings. +- set `final_culture_volume` to the volume of your final culture. + +Finally, run the function: +```python +ba.calculatePopulationDoublings(initial_population, final_population_ml, final_culture_volume) +``` +## RepeatSearch +This tool allows for search of imperfect repeats (Inverted and Direct) in a DNA sequence. Diagram explaining the parameters can be found in the stand-alone repo [here](https://github.com/tvarovski/RepeatSearchTools) + +```python +# Set RepeatSearch parameters +sequence="ACGT" # This is your nucleotide sequence to be searched for repeats +inverted=True # Sets search to Inverted (True) vs Direct (False) repeats +min_query_length=5 # Sets min length of a query sequence +max_query_length=30 # Sets max length of a query sequence +min_spacer=0 # Set min distance between query and the repeat +window_size=804 # Sets window size within which the search is confined +imperfect_homology=True # Set True/False, to search for imperfect/perfect homologies. +min_homology=0.8 # Sets minimum homology treshold (a fraction) when imperfect_homology=True, +fixed_errors=1 # Sets maximum number of errors (del/sub) when imperfect_homology=True (set to False or to an integer) + +# To run the Search execute the following: +results_dictionary = ba.searchSequenceForRepeats( + sequence=sequence, + min_query_length=min_query_length, + max_query_length=max_query_length, + min_spacer=min_spacer, + window_size=window_size, + imperfect_homology=imperfect_homology, + min_homology=min_homology, + fixed_errors=fixed_errors, + inverted=inverted) + +``` + +