diff --git a/src/lineagetree/__init__.py b/src/lineagetree/__init__.py index 92063a7..b63388d 100644 --- a/src/lineagetree/__init__.py +++ b/src/lineagetree/__init__.py @@ -12,6 +12,7 @@ read_from_txt_for_celegans, read_from_txt_for_celegans_BAO, read_from_txt_for_celegans_CAO, + LOADERS, ) from .lineage_tree_manager import LineageTreeManager @@ -29,4 +30,5 @@ "read_from_mastodon", "read_from_txt_for_celegans", "read_from_txt_for_celegans_CAO", + "LOADERS", ) \ No newline at end of file diff --git a/src/lineagetree/_io/_loaders.py b/src/lineagetree/_io/_loaders.py index c91c897..fe69fd1 100644 --- a/src/lineagetree/_io/_loaders.py +++ b/src/lineagetree/_io/_loaders.py @@ -177,7 +177,7 @@ def read_from_bmf( def read_from_csv( file_path: str, - z_mult: float, + z_mult: float = 1, link: int = 1, delim: str = ",", name: None | str = None, @@ -1057,3 +1057,33 @@ def read_from_mamut_xml( name=name, **properties, ) + + +LOADERS = { # put all formats in smaller case + "bmf": { + "BMF loader": read_from_bmf + }, + "csv": { + "Standard CSV loader": read_from_csv, + "Mastodon CSV loader": read_from_mastodon_csv + }, + "binary": { + "Binary loader": read_from_binary + }, + "xml": { + # "TGMM XML loader": read_from_tgmm_xml, # commented out because it requires a specific file format + "MaMuT XML loader": read_from_mamut_xml, + "ASTEC XML loader": read_from_ASTEC, + }, + "mastodon": { + "Mastodon loader": read_from_mastodon + }, + "pkl": { + "ASTEC PKL loader": read_from_ASTEC + }, + "txt": { + "C. elegans loader": read_from_txt_for_celegans, + "C. elegans CAO loader": read_from_txt_for_celegans_CAO, + "C. elegans BAO loader": read_from_txt_for_celegans_BAO, + }, +} \ No newline at end of file