levseq 1.2.6__tar.gz → 1.2.7__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (39) hide show
  1. {levseq-1.2.6/levseq.egg-info → levseq-1.2.7}/PKG-INFO +6 -2
  2. {levseq-1.2.6 → levseq-1.2.7}/README.md +5 -1
  3. {levseq-1.2.6 → levseq-1.2.7}/levseq/__init__.py +1 -1
  4. {levseq-1.2.6 → levseq-1.2.7}/levseq/run_levseq.py +18 -10
  5. {levseq-1.2.6 → levseq-1.2.7}/levseq/variantcaller.py +5 -4
  6. {levseq-1.2.6 → levseq-1.2.7/levseq.egg-info}/PKG-INFO +6 -2
  7. {levseq-1.2.6 → levseq-1.2.7}/LICENSE +0 -0
  8. {levseq-1.2.6 → levseq-1.2.7}/MANIFEST.in +0 -0
  9. {levseq-1.2.6 → levseq-1.2.7}/levseq/IO_processor.py +0 -0
  10. {levseq-1.2.6 → levseq-1.2.7}/levseq/barcoding/__init__.py +0 -0
  11. {levseq-1.2.6 → levseq-1.2.7}/levseq/barcoding/demultiplex +0 -0
  12. {levseq-1.2.6 → levseq-1.2.7}/levseq/barcoding/demultiplex-arm64 +0 -0
  13. {levseq-1.2.6 → levseq-1.2.7}/levseq/barcoding/demultiplex-x86 +0 -0
  14. {levseq-1.2.6 → levseq-1.2.7}/levseq/barcoding/minion_barcodes.fasta +0 -0
  15. {levseq-1.2.6 → levseq-1.2.7}/levseq/basecaller.py +0 -0
  16. {levseq-1.2.6 → levseq-1.2.7}/levseq/cmd.py +0 -0
  17. {levseq-1.2.6 → levseq-1.2.7}/levseq/coordinates.py +0 -0
  18. {levseq-1.2.6 → levseq-1.2.7}/levseq/globals.py +0 -0
  19. {levseq-1.2.6 → levseq-1.2.7}/levseq/interface.py +0 -0
  20. {levseq-1.2.6 → levseq-1.2.7}/levseq/parser.py +0 -0
  21. {levseq-1.2.6 → levseq-1.2.7}/levseq/screen.py +0 -0
  22. {levseq-1.2.6 → levseq-1.2.7}/levseq/seqfit.py +0 -0
  23. {levseq-1.2.6 → levseq-1.2.7}/levseq/simulation.py +0 -0
  24. {levseq-1.2.6 → levseq-1.2.7}/levseq/user.py +0 -0
  25. {levseq-1.2.6 → levseq-1.2.7}/levseq/utils.py +0 -0
  26. {levseq-1.2.6 → levseq-1.2.7}/levseq/visualization.py +0 -0
  27. {levseq-1.2.6 → levseq-1.2.7}/levseq.egg-info/SOURCES.txt +0 -0
  28. {levseq-1.2.6 → levseq-1.2.7}/levseq.egg-info/dependency_links.txt +0 -0
  29. {levseq-1.2.6 → levseq-1.2.7}/levseq.egg-info/entry_points.txt +0 -0
  30. {levseq-1.2.6 → levseq-1.2.7}/levseq.egg-info/requires.txt +0 -0
  31. {levseq-1.2.6 → levseq-1.2.7}/levseq.egg-info/top_level.txt +0 -0
  32. {levseq-1.2.6 → levseq-1.2.7}/setup.cfg +0 -0
  33. {levseq-1.2.6 → levseq-1.2.7}/setup.py +0 -0
  34. {levseq-1.2.6 → levseq-1.2.7}/tests/test_demultiplex_docker.py +0 -0
  35. {levseq-1.2.6 → levseq-1.2.7}/tests/test_opligopools.py +0 -0
  36. {levseq-1.2.6 → levseq-1.2.7}/tests/test_seqfitvis.py +0 -0
  37. {levseq-1.2.6 → levseq-1.2.7}/tests/test_seqs.py +0 -0
  38. {levseq-1.2.6 → levseq-1.2.7}/tests/test_statistics.py +0 -0
  39. {levseq-1.2.6 → levseq-1.2.7}/tests/test_variant_calling.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: levseq
3
- Version: 1.2.6
3
+ Version: 1.2.7
4
4
  Home-page: https://github.com/fhalab/levseq/
5
5
  Author: Yueming Long, Emreay Gursoy, Ariane Mora, Francesca-Zhoufan Li
6
6
  Author-email: ylong@caltech.edu
@@ -54,7 +54,7 @@ Figure 1: Overview of the LevSeq variant sequencing workflow using Nanopore tech
54
54
 
55
55
 
56
56
  - Data to reproduce the results and to test are available on zenodo [![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.13694463.svg)](https://doi.org/10.5281/zenodo.13694463)
57
- - A dockerized website and database for labs to locally host and visualize their data: website is available [here](https://github.com/ArianeMora/LevSeq_vis/) and code to host locally at: https://github.com/fhalab/LevSeq_VDB/
57
+ - A dockerized website and database for labs to locally host and visualize their data: website is available [here](https://levseqdb.streamlit.app/) and code to host locally [here](https://github.com/fhalab/LevSeq_db)
58
58
 
59
59
  ## Setup
60
60
 
@@ -172,3 +172,7 @@ For more details or trouble shooting please look at our [computational_protocols
172
172
  #### Citing
173
173
 
174
174
  If you have found LevSeq useful, please cite out [paper](https://doi.org/10.1101/2024.09.04.611255).
175
+
176
+ #### Contact
177
+
178
+ Leave a feature request in the issues or reach us via [email](mailto:levseqdb@gmail.com).
@@ -7,7 +7,7 @@ Figure 1: Overview of the LevSeq variant sequencing workflow using Nanopore tech
7
7
 
8
8
 
9
9
  - Data to reproduce the results and to test are available on zenodo [![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.13694463.svg)](https://doi.org/10.5281/zenodo.13694463)
10
- - A dockerized website and database for labs to locally host and visualize their data: website is available [here](https://github.com/ArianeMora/LevSeq_vis/) and code to host locally at: https://github.com/fhalab/LevSeq_VDB/
10
+ - A dockerized website and database for labs to locally host and visualize their data: website is available [here](https://levseqdb.streamlit.app/) and code to host locally [here](https://github.com/fhalab/LevSeq_db)
11
11
 
12
12
  ## Setup
13
13
 
@@ -125,3 +125,7 @@ For more details or trouble shooting please look at our [computational_protocols
125
125
  #### Citing
126
126
 
127
127
  If you have found LevSeq useful, please cite out [paper](https://doi.org/10.1101/2024.09.04.611255).
128
+
129
+ #### Contact
130
+
131
+ Leave a feature request in the issues or reach us via [email](mailto:levseqdb@gmail.com).
@@ -18,7 +18,7 @@
18
18
  __title__ = 'levseq'
19
19
  __description__ = 'LevSeq nanopore sequencing'
20
20
  __url__ = 'https://github.com/fhalab/levseq/'
21
- __version__ = '1.2.6'
21
+ __version__ = '1.2.7'
22
22
  __author__ = 'Yueming Long, Emreay Gursoy, Ariane Mora, Francesca-Zhoufan Li'
23
23
  __author_email__ = 'ylong@caltech.edu'
24
24
  __license__ = 'GPL3'
@@ -275,11 +275,11 @@ def create_df_v(variants_df):
275
275
  )
276
276
  # Fill in 'Deletion' in 'aa_variant' column
277
277
  df_variants_.loc[
278
- df_variants_["nc_variant"] == "Deletion", "aa_variant"
279
- ] = "Deletion"
278
+ df_variants_["nc_variant"] == "#DEL#", "aa_variant"
279
+ ] = "#DEL#"
280
280
  df_variants_.loc[
281
- df_variants_["nc_variant"] == "Insertion", "aa_variant"
282
- ] = "Insertion"
281
+ df_variants_["nc_variant"] == "#INS#", "aa_variant"
282
+ ] = "#INS#"
283
283
 
284
284
  # Compare aa_variant with translated refseq and generate Substitutions column
285
285
  df_variants_["Substitutions"] = df_variants_.apply(get_mutations, axis=1)
@@ -291,7 +291,7 @@ def create_df_v(variants_df):
291
291
  # Fill in Deletion into Substitutions Column, keep #N.A.# unchanged
292
292
  for i in df_variants_.index:
293
293
  if df_variants_["nc_variant"].iloc[i] == "Deletion":
294
- df_variants_.Substitutions.iat[i] = df_variants_.Substitutions.iat[i].replace("", "-")
294
+ df_variants_.Substitutions.iat[i] = df_variants_.Substitutions.iat[i].replace("", "#DEL#")
295
295
  elif df_variants_["nc_variant"].iloc[i] == "#N.A.#":
296
296
  df_variants_.Substitutions.iat[i] = "#N.A.#"
297
297
 
@@ -363,9 +363,9 @@ def create_nc_variant(variant, refseq):
363
363
  elif variant == "#PARENT#":
364
364
  return refseq
365
365
  elif "DEL" in variant:
366
- return "Deletion"
366
+ return "#DEL#"
367
367
  elif variant == '+':
368
- return "Insertion"
368
+ return "#INS#"
369
369
  else:
370
370
  mutations = variant.split("_")
371
371
  nc_variant = list(refseq)
@@ -465,7 +465,7 @@ def process_ref_csv(cl_args, tqdm_fn=tqdm.tqdm):
465
465
  logging.info(f"Fasta file for {name} already exists. Skipping write.")
466
466
 
467
467
  barcode_path = filter_bc(cl_args, name_folder, i)
468
- output_dir = Path(result_folder) / "basecalled_reads"
468
+ output_dir = Path(result_folder) / f"{cl_args['name']}_fastq"
469
469
  output_dir.mkdir(parents=True, exist_ok=True)
470
470
 
471
471
  if not cl_args["skip_demultiplexing"]:
@@ -491,17 +491,25 @@ def process_ref_csv(cl_args, tqdm_fn=tqdm.tqdm):
491
491
  continue
492
492
 
493
493
  variant_df.to_csv(variant_csv_path, index=False)
494
- return variant_df
494
+ return variant_df, ref_df
495
495
 
496
496
  # Main function to run LevSeq and ensure saving of intermediate results if an error occurs
497
497
  def run_LevSeq(cl_args, tqdm_fn=tqdm.tqdm):
498
498
  result_folder = create_result_folder(cl_args)
499
+ # Ref folder for saving ref csv file
500
+ ref_folder = os.path.join(result_folder, "ref")
501
+ os.makedirs(ref_folder, exist_ok=True)
502
+
499
503
  configure_logging(result_folder)
504
+ logging.info("Logging configured. Starting program.")
500
505
 
501
506
  variant_df = pd.DataFrame(columns=["barcode_plate", "name", "refseq", "variant"])
502
507
 
503
508
  try:
504
- variant_df = process_ref_csv(cl_args, tqdm_fn)
509
+ variant_df, ref_df = process_ref_csv(cl_args, tqdm_fn)
510
+ ref_df_path = os.path.join(ref_folder, cl_args["name"]+".csv")
511
+ ref_df.to_csv(ref_df_path, index=False)
512
+
505
513
  if variant_df.empty:
506
514
  logging.warning("No data found during CSV processing. The CSV is empty.")
507
515
  except Exception as e:
@@ -37,11 +37,12 @@ The variant caller starts from demultiplexed fastq files.
37
37
  3) Call variant with soft alignment
38
38
 
39
39
  '''
40
- # Set up logging with a default level of WARNING
41
- logging.basicConfig(level=logging.WARNING, format='%(asctime)s - %(levelname)s - %(message)s')
40
+
42
41
  logger = logging.getLogger(__name__)
43
- # Suppress numpy warnings
44
- warnings.filterwarnings("ignore", category=RuntimeWarning)
42
+ logger.setLevel(logging.WARNING) # Set default level for this module
43
+ # Use the logger in this file
44
+ logger.warning("This is a warning message.")
45
+ logger.info("This won't show unless logging is configured to INFO elsewhere.")
45
46
 
46
47
  class VariantCaller:
47
48
  """
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: levseq
3
- Version: 1.2.6
3
+ Version: 1.2.7
4
4
  Home-page: https://github.com/fhalab/levseq/
5
5
  Author: Yueming Long, Emreay Gursoy, Ariane Mora, Francesca-Zhoufan Li
6
6
  Author-email: ylong@caltech.edu
@@ -54,7 +54,7 @@ Figure 1: Overview of the LevSeq variant sequencing workflow using Nanopore tech
54
54
 
55
55
 
56
56
  - Data to reproduce the results and to test are available on zenodo [![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.13694463.svg)](https://doi.org/10.5281/zenodo.13694463)
57
- - A dockerized website and database for labs to locally host and visualize their data: website is available [here](https://github.com/ArianeMora/LevSeq_vis/) and code to host locally at: https://github.com/fhalab/LevSeq_VDB/
57
+ - A dockerized website and database for labs to locally host and visualize their data: website is available [here](https://levseqdb.streamlit.app/) and code to host locally [here](https://github.com/fhalab/LevSeq_db)
58
58
 
59
59
  ## Setup
60
60
 
@@ -172,3 +172,7 @@ For more details or trouble shooting please look at our [computational_protocols
172
172
  #### Citing
173
173
 
174
174
  If you have found LevSeq useful, please cite out [paper](https://doi.org/10.1101/2024.09.04.611255).
175
+
176
+ #### Contact
177
+
178
+ Leave a feature request in the issues or reach us via [email](mailto:levseqdb@gmail.com).
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes