geoseeq 0.7.3.dev4__tar.gz → 0.7.4__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.
- {geoseeq-0.7.3.dev4 → geoseeq-0.7.4}/PKG-INFO +8 -2
- {geoseeq-0.7.3.dev4 → geoseeq-0.7.4}/README.md +7 -1
- {geoseeq-0.7.3.dev4 → geoseeq-0.7.4}/docs/uploading_data_examples.md +11 -4
- {geoseeq-0.7.3.dev4 → geoseeq-0.7.4}/geoseeq/cli/constants.py +2 -2
- {geoseeq-0.7.3.dev4 → geoseeq-0.7.4}/geoseeq/cli/main.py +1 -1
- {geoseeq-0.7.3.dev4 → geoseeq-0.7.4}/geoseeq/cli/upload/upload_reads.py +34 -9
- {geoseeq-0.7.3.dev4 → geoseeq-0.7.4}/geoseeq/constants.py +10 -1
- {geoseeq-0.7.3.dev4 → geoseeq-0.7.4}/geoseeq/sample.py +3 -1
- {geoseeq-0.7.3.dev4 → geoseeq-0.7.4}/pyproject.toml +1 -1
- {geoseeq-0.7.3.dev4 → geoseeq-0.7.4}/setup.py +2 -1
- {geoseeq-0.7.3.dev4 → geoseeq-0.7.4}/.devcontainer/devcontainer.json +0 -0
- {geoseeq-0.7.3.dev4 → geoseeq-0.7.4}/.github/workflows/python-publish.yml +0 -0
- {geoseeq-0.7.3.dev4 → geoseeq-0.7.4}/.github/workflows/run_unit_tests.yml +0 -0
- {geoseeq-0.7.3.dev4 → geoseeq-0.7.4}/.gitignore +0 -0
- {geoseeq-0.7.3.dev4 → geoseeq-0.7.4}/.pre-commit-config.yaml +0 -0
- {geoseeq-0.7.3.dev4 → geoseeq-0.7.4}/AGENTS.md +0 -0
- {geoseeq-0.7.3.dev4 → geoseeq-0.7.4}/LICENSE +0 -0
- {geoseeq-0.7.3.dev4 → geoseeq-0.7.4}/Makefile +0 -0
- {geoseeq-0.7.3.dev4 → geoseeq-0.7.4}/commit_pylintrc +0 -0
- {geoseeq-0.7.3.dev4 → geoseeq-0.7.4}/docs/about_geoseeq.md +0 -0
- {geoseeq-0.7.3.dev4 → geoseeq-0.7.4}/docs/contributing.md +0 -0
- {geoseeq-0.7.3.dev4 → geoseeq-0.7.4}/docs/downloading_data_examples.md +0 -0
- {geoseeq-0.7.3.dev4 → geoseeq-0.7.4}/docs/examples/simple_python_example/README.md +0 -0
- {geoseeq-0.7.3.dev4 → geoseeq-0.7.4}/docs/examples/simple_python_example/project_dashboard_example.py +0 -0
- {geoseeq-0.7.3.dev4 → geoseeq-0.7.4}/docs/examples/simple_python_example/sample_dashboard_example.py +0 -0
- {geoseeq-0.7.3.dev4 → geoseeq-0.7.4}/docs/examples/simple_python_example/simple_python_example.py +0 -0
- {geoseeq-0.7.3.dev4 → geoseeq-0.7.4}/docs/examples/simple_python_example/smart_table_example.py +0 -0
- {geoseeq-0.7.3.dev4 → geoseeq-0.7.4}/docs/examples/simple_snakemake_example/README.md +0 -0
- {geoseeq-0.7.3.dev4 → geoseeq-0.7.4}/docs/examples/simple_snakemake_example/Snakefile +0 -0
- {geoseeq-0.7.3.dev4 → geoseeq-0.7.4}/docs/examples/simple_snakemake_example/config.yaml +0 -0
- {geoseeq-0.7.3.dev4 → geoseeq-0.7.4}/geoseeq/__init__.py +0 -0
- {geoseeq-0.7.3.dev4 → geoseeq-0.7.4}/geoseeq/app.py +0 -0
- {geoseeq-0.7.3.dev4 → geoseeq-0.7.4}/geoseeq/blob_constructors.py +0 -0
- {geoseeq-0.7.3.dev4 → geoseeq-0.7.4}/geoseeq/bulk_creators.py +0 -0
- {geoseeq-0.7.3.dev4 → geoseeq-0.7.4}/geoseeq/cli/__init__.py +0 -0
- {geoseeq-0.7.3.dev4 → geoseeq-0.7.4}/geoseeq/cli/copy.py +0 -0
- {geoseeq-0.7.3.dev4 → geoseeq-0.7.4}/geoseeq/cli/detail.py +0 -0
- {geoseeq-0.7.3.dev4 → geoseeq-0.7.4}/geoseeq/cli/download.py +0 -0
- {geoseeq-0.7.3.dev4 → geoseeq-0.7.4}/geoseeq/cli/fastq_utils.py +0 -0
- {geoseeq-0.7.3.dev4 → geoseeq-0.7.4}/geoseeq/cli/find_grn.py +0 -0
- {geoseeq-0.7.3.dev4 → geoseeq-0.7.4}/geoseeq/cli/get_eula.py +0 -0
- {geoseeq-0.7.3.dev4 → geoseeq-0.7.4}/geoseeq/cli/manage.py +0 -0
- {geoseeq-0.7.3.dev4 → geoseeq-0.7.4}/geoseeq/cli/progress_bar.py +0 -0
- {geoseeq-0.7.3.dev4 → geoseeq-0.7.4}/geoseeq/cli/project.py +0 -0
- {geoseeq-0.7.3.dev4 → geoseeq-0.7.4}/geoseeq/cli/raw.py +0 -0
- {geoseeq-0.7.3.dev4 → geoseeq-0.7.4}/geoseeq/cli/run.py +0 -0
- {geoseeq-0.7.3.dev4 → geoseeq-0.7.4}/geoseeq/cli/search.py +0 -0
- {geoseeq-0.7.3.dev4 → geoseeq-0.7.4}/geoseeq/cli/shared_params/__init__.py +0 -0
- {geoseeq-0.7.3.dev4 → geoseeq-0.7.4}/geoseeq/cli/shared_params/common_state.py +0 -0
- {geoseeq-0.7.3.dev4 → geoseeq-0.7.4}/geoseeq/cli/shared_params/config.py +0 -0
- {geoseeq-0.7.3.dev4 → geoseeq-0.7.4}/geoseeq/cli/shared_params/id_handlers.py +0 -0
- {geoseeq-0.7.3.dev4 → geoseeq-0.7.4}/geoseeq/cli/shared_params/obj_getters.py +0 -0
- {geoseeq-0.7.3.dev4 → geoseeq-0.7.4}/geoseeq/cli/shared_params/opts_and_args.py +0 -0
- {geoseeq-0.7.3.dev4 → geoseeq-0.7.4}/geoseeq/cli/upload/__init__.py +0 -0
- {geoseeq-0.7.3.dev4 → geoseeq-0.7.4}/geoseeq/cli/upload/upload.py +0 -0
- {geoseeq-0.7.3.dev4 → geoseeq-0.7.4}/geoseeq/cli/upload/upload_advanced.py +0 -0
- {geoseeq-0.7.3.dev4 → geoseeq-0.7.4}/geoseeq/cli/user.py +0 -0
- {geoseeq-0.7.3.dev4 → geoseeq-0.7.4}/geoseeq/cli/utils.py +0 -0
- {geoseeq-0.7.3.dev4 → geoseeq-0.7.4}/geoseeq/cli/view.py +0 -0
- {geoseeq-0.7.3.dev4 → geoseeq-0.7.4}/geoseeq/contrib/__init__.py +0 -0
- {geoseeq-0.7.3.dev4 → geoseeq-0.7.4}/geoseeq/contrib/ncbi/README.md +0 -0
- {geoseeq-0.7.3.dev4 → geoseeq-0.7.4}/geoseeq/contrib/ncbi/__init__.py +0 -0
- {geoseeq-0.7.3.dev4 → geoseeq-0.7.4}/geoseeq/contrib/ncbi/api.py +0 -0
- {geoseeq-0.7.3.dev4 → geoseeq-0.7.4}/geoseeq/contrib/ncbi/bioproject.py +0 -0
- {geoseeq-0.7.3.dev4 → geoseeq-0.7.4}/geoseeq/contrib/ncbi/cli.py +0 -0
- {geoseeq-0.7.3.dev4 → geoseeq-0.7.4}/geoseeq/contrib/ncbi/setup_logging.py +0 -0
- {geoseeq-0.7.3.dev4 → geoseeq-0.7.4}/geoseeq/dashboard/dashboard.py +0 -0
- {geoseeq-0.7.3.dev4 → geoseeq-0.7.4}/geoseeq/file_system/filesystem_download.py +0 -0
- {geoseeq-0.7.3.dev4 → geoseeq-0.7.4}/geoseeq/file_system/main.py +0 -0
- {geoseeq-0.7.3.dev4 → geoseeq-0.7.4}/geoseeq/file_system_cache.py +0 -0
- {geoseeq-0.7.3.dev4 → geoseeq-0.7.4}/geoseeq/id_constructors/__init__.py +0 -0
- {geoseeq-0.7.3.dev4 → geoseeq-0.7.4}/geoseeq/id_constructors/from_blobs.py +0 -0
- {geoseeq-0.7.3.dev4 → geoseeq-0.7.4}/geoseeq/id_constructors/from_ids.py +0 -0
- {geoseeq-0.7.3.dev4 → geoseeq-0.7.4}/geoseeq/id_constructors/from_names.py +0 -0
- {geoseeq-0.7.3.dev4 → geoseeq-0.7.4}/geoseeq/id_constructors/from_uuids.py +0 -0
- {geoseeq-0.7.3.dev4 → geoseeq-0.7.4}/geoseeq/id_constructors/resolvers.py +0 -0
- {geoseeq-0.7.3.dev4 → geoseeq-0.7.4}/geoseeq/id_constructors/utils.py +0 -0
- {geoseeq-0.7.3.dev4 → geoseeq-0.7.4}/geoseeq/knex.py +0 -0
- {geoseeq-0.7.3.dev4 → geoseeq-0.7.4}/geoseeq/organization.py +0 -0
- {geoseeq-0.7.3.dev4 → geoseeq-0.7.4}/geoseeq/pipeline.py +0 -0
- {geoseeq-0.7.3.dev4 → geoseeq-0.7.4}/geoseeq/plotting/README.md +0 -0
- {geoseeq-0.7.3.dev4 → geoseeq-0.7.4}/geoseeq/plotting/__init__.py +0 -0
- {geoseeq-0.7.3.dev4 → geoseeq-0.7.4}/geoseeq/plotting/constants.py +0 -0
- {geoseeq-0.7.3.dev4 → geoseeq-0.7.4}/geoseeq/plotting/highcharts.py +0 -0
- {geoseeq-0.7.3.dev4 → geoseeq-0.7.4}/geoseeq/plotting/map/__init__.py +0 -0
- {geoseeq-0.7.3.dev4 → geoseeq-0.7.4}/geoseeq/plotting/map/base_layer.py +0 -0
- {geoseeq-0.7.3.dev4 → geoseeq-0.7.4}/geoseeq/plotting/map/map.py +0 -0
- {geoseeq-0.7.3.dev4 → geoseeq-0.7.4}/geoseeq/plotting/map/overlay.py +0 -0
- {geoseeq-0.7.3.dev4 → geoseeq-0.7.4}/geoseeq/plotting/selectable.py +0 -0
- {geoseeq-0.7.3.dev4 → geoseeq-0.7.4}/geoseeq/project.py +0 -0
- {geoseeq-0.7.3.dev4 → geoseeq-0.7.4}/geoseeq/remote_object.py +0 -0
- {geoseeq-0.7.3.dev4 → geoseeq-0.7.4}/geoseeq/result/__init__.py +0 -0
- {geoseeq-0.7.3.dev4 → geoseeq-0.7.4}/geoseeq/result/bioinfo.py +0 -0
- {geoseeq-0.7.3.dev4 → geoseeq-0.7.4}/geoseeq/result/file_chunker.py +0 -0
- {geoseeq-0.7.3.dev4 → geoseeq-0.7.4}/geoseeq/result/file_download.py +0 -0
- {geoseeq-0.7.3.dev4 → geoseeq-0.7.4}/geoseeq/result/file_upload.py +0 -0
- {geoseeq-0.7.3.dev4 → geoseeq-0.7.4}/geoseeq/result/result_file.py +0 -0
- {geoseeq-0.7.3.dev4 → geoseeq-0.7.4}/geoseeq/result/result_folder.py +0 -0
- {geoseeq-0.7.3.dev4 → geoseeq-0.7.4}/geoseeq/result/resumable_download_tracker.py +0 -0
- {geoseeq-0.7.3.dev4 → geoseeq-0.7.4}/geoseeq/result/resumable_upload_tracker.py +0 -0
- {geoseeq-0.7.3.dev4 → geoseeq-0.7.4}/geoseeq/result/smart_objects.py +0 -0
- {geoseeq-0.7.3.dev4 → geoseeq-0.7.4}/geoseeq/result/utils.py +0 -0
- {geoseeq-0.7.3.dev4 → geoseeq-0.7.4}/geoseeq/search.py +0 -0
- {geoseeq-0.7.3.dev4 → geoseeq-0.7.4}/geoseeq/smart_table.py +0 -0
- {geoseeq-0.7.3.dev4 → geoseeq-0.7.4}/geoseeq/smart_tree.py +0 -0
- {geoseeq-0.7.3.dev4 → geoseeq-0.7.4}/geoseeq/upload_download_manager.py +0 -0
- {geoseeq-0.7.3.dev4 → geoseeq-0.7.4}/geoseeq/user.py +0 -0
- {geoseeq-0.7.3.dev4 → geoseeq-0.7.4}/geoseeq/utils.py +0 -0
- {geoseeq-0.7.3.dev4 → geoseeq-0.7.4}/geoseeq/vc/README.md +0 -0
- {geoseeq-0.7.3.dev4 → geoseeq-0.7.4}/geoseeq/vc/__init__.py +0 -0
- {geoseeq-0.7.3.dev4 → geoseeq-0.7.4}/geoseeq/vc/checksum.py +0 -0
- {geoseeq-0.7.3.dev4 → geoseeq-0.7.4}/geoseeq/vc/cli.py +0 -0
- {geoseeq-0.7.3.dev4 → geoseeq-0.7.4}/geoseeq/vc/clone.py +0 -0
- {geoseeq-0.7.3.dev4 → geoseeq-0.7.4}/geoseeq/vc/constants.py +0 -0
- {geoseeq-0.7.3.dev4 → geoseeq-0.7.4}/geoseeq/vc/vc_cache.py +0 -0
- {geoseeq-0.7.3.dev4 → geoseeq-0.7.4}/geoseeq/vc/vc_dir.py +0 -0
- {geoseeq-0.7.3.dev4 → geoseeq-0.7.4}/geoseeq/vc/vc_sample.py +0 -0
- {geoseeq-0.7.3.dev4 → geoseeq-0.7.4}/geoseeq/vc/vc_stub.py +0 -0
- {geoseeq-0.7.3.dev4 → geoseeq-0.7.4}/geoseeq/work_orders.py +0 -0
- {geoseeq-0.7.3.dev4 → geoseeq-0.7.4}/tests/__init__.py +0 -0
- {geoseeq-0.7.3.dev4 → geoseeq-0.7.4}/tests/conftest.py +0 -0
- {geoseeq-0.7.3.dev4 → geoseeq-0.7.4}/tests/test_api_client.py +0 -0
- {geoseeq-0.7.3.dev4 → geoseeq-0.7.4}/tests/test_download.py +0 -0
- {geoseeq-0.7.3.dev4 → geoseeq-0.7.4}/tests/test_download_cli.py +0 -0
- {geoseeq-0.7.3.dev4 → geoseeq-0.7.4}/tests/test_file_chunker.py +0 -0
- {geoseeq-0.7.3.dev4 → geoseeq-0.7.4}/tests/test_file_system_cache.py +0 -0
- {geoseeq-0.7.3.dev4 → geoseeq-0.7.4}/tests/test_files/files_path.txt +0 -0
- {geoseeq-0.7.3.dev4 → geoseeq-0.7.4}/tests/test_files/sampleclit.R1.fastq.gz +0 -0
- {geoseeq-0.7.3.dev4 → geoseeq-0.7.4}/tests/test_files/sampleclit.R2.fastq.gz +0 -0
- {geoseeq-0.7.3.dev4 → geoseeq-0.7.4}/tests/test_files/single-end.fastq.gz +0 -0
- {geoseeq-0.7.3.dev4 → geoseeq-0.7.4}/tests/test_files/test_metadata.csv +0 -0
- {geoseeq-0.7.3.dev4 → geoseeq-0.7.4}/tests/test_files/test_small.R1.fastq.gz +0 -0
- {geoseeq-0.7.3.dev4 → geoseeq-0.7.4}/tests/test_files/test_small.R2.fastq.gz +0 -0
- {geoseeq-0.7.3.dev4 → geoseeq-0.7.4}/tests/test_plotting.py +0 -0
- {geoseeq-0.7.3.dev4 → geoseeq-0.7.4}/tests/test_remote_object.py +0 -0
- {geoseeq-0.7.3.dev4 → geoseeq-0.7.4}/tests/test_upload.py +0 -0
- {geoseeq-0.7.3.dev4 → geoseeq-0.7.4}/tests/test_upload_cli.py +0 -0
- {geoseeq-0.7.3.dev4 → geoseeq-0.7.4}/tests/test_utils.py +0 -0
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.4
|
2
2
|
Name: geoseeq
|
3
|
-
Version: 0.7.
|
3
|
+
Version: 0.7.4
|
4
4
|
Summary: GeoSeeq command line tools and python API
|
5
5
|
Project-URL: Homepage, https://github.com/biotia/geoseeq_api_client
|
6
6
|
Project-URL: Issues, https://github.com/biotia/geoseeq_api_client/issues
|
@@ -84,7 +84,7 @@ $ geoseeq download files --extension fastq.gz "GeoSeeq/Example CLI Project"
|
|
84
84
|
|
85
85
|
GeoSeeq can automatically group fastq files into samples according to their
|
86
86
|
sample name, read number, and lane number. It supports paired end, single end,
|
87
|
-
and
|
87
|
+
nanopore, and pacbio reads.
|
88
88
|
|
89
89
|
Assume you have data from a single ended sequencing run stored as fastq files:
|
90
90
|
- Sample1_L1_R1.fastq.gz
|
@@ -115,6 +115,12 @@ GeoSeeq will automatically create a new sample named `Sample1` if it does not al
|
|
115
115
|
|
116
116
|
This command would upload data [to this project.](https://portal.geoseeq.com/sample-groups/ed59b913-91ec-489b-a1b9-4ea137a6e5cf/samples). Since only organization members can upload data, you will need to replace `GeoSeeq` with your organization name.
|
117
117
|
|
118
|
+
To rename samples on the fly, provide a CSV file with current and new names using the `--name-map` option:
|
119
|
+
|
120
|
+
```
|
121
|
+
$ geoseeq upload reads --name-map sample_map.csv current_name new_name "GeoSeeq/Example CLI Project" fastq_files.txt
|
122
|
+
```
|
123
|
+
|
118
124
|
Note: You will need to have an API token set to use this command (see above)
|
119
125
|
|
120
126
|
## Using the Python API in a program
|
@@ -60,7 +60,7 @@ $ geoseeq download files --extension fastq.gz "GeoSeeq/Example CLI Project"
|
|
60
60
|
|
61
61
|
GeoSeeq can automatically group fastq files into samples according to their
|
62
62
|
sample name, read number, and lane number. It supports paired end, single end,
|
63
|
-
and
|
63
|
+
nanopore, and pacbio reads.
|
64
64
|
|
65
65
|
Assume you have data from a single ended sequencing run stored as fastq files:
|
66
66
|
- Sample1_L1_R1.fastq.gz
|
@@ -91,6 +91,12 @@ GeoSeeq will automatically create a new sample named `Sample1` if it does not al
|
|
91
91
|
|
92
92
|
This command would upload data [to this project.](https://portal.geoseeq.com/sample-groups/ed59b913-91ec-489b-a1b9-4ea137a6e5cf/samples). Since only organization members can upload data, you will need to replace `GeoSeeq` with your organization name.
|
93
93
|
|
94
|
+
To rename samples on the fly, provide a CSV file with current and new names using the `--name-map` option:
|
95
|
+
|
96
|
+
```
|
97
|
+
$ geoseeq upload reads --name-map sample_map.csv current_name new_name "GeoSeeq/Example CLI Project" fastq_files.txt
|
98
|
+
```
|
99
|
+
|
94
100
|
Note: You will need to have an API token set to use this command (see above)
|
95
101
|
|
96
102
|
## Using the Python API in a program
|
@@ -16,11 +16,11 @@ $ export GEOSEEQ_API_TOKEN=<your token from the geoseeq app>
|
|
16
16
|
|
17
17
|
## Uploading sequencing data
|
18
18
|
|
19
|
-
GeoSeeq can automatically group fastq files into samples according to their
|
19
|
+
GeoSeeq can automatically group fastq files into samples according to their
|
20
20
|
sample name, read number, and lane number. It supports paired end, single end,
|
21
|
-
and
|
21
|
+
nanopore, and pacbio reads.
|
22
22
|
|
23
|
-
Assume you have data from a single ended sequencing run stored as fastq files:
|
23
|
+
Assume you have data from a single ended sequencing run stored as fastq files:
|
24
24
|
- Sample1_L1_R1.fastq.gz
|
25
25
|
- Sample1_L1_R2.fastq.gz
|
26
26
|
- Sample1_L2_R1.fastq.gz
|
@@ -47,13 +47,20 @@ Uploading Sample: Sample1
|
|
47
47
|
|
48
48
|
GeoSeeq will automatically create a new sample named `Sample1` if it does not already exist.
|
49
49
|
|
50
|
+
To rename samples during upload, provide a CSV with current and new names
|
51
|
+
using `--name-map`:
|
52
|
+
|
53
|
+
```
|
54
|
+
$ geoseeq upload reads --name-map sample_map.csv current_name new_name "Example GeoSeeq Org/Example CLI Project" fastq_files.txt
|
55
|
+
```
|
56
|
+
|
50
57
|
Note: You will need to have an API token set to use this command (see above)
|
51
58
|
|
52
59
|
### Linking reads from S3, Wasabi, FTP, Azure, and other cloud storage services
|
53
60
|
|
54
61
|
GeoSeeq allows you to link files stored on other cloud storage services without moving the files.
|
55
62
|
|
56
|
-
Assume you have data from a single ended sequencing run stored as fastq files on an s3 bucket:
|
63
|
+
Assume you have data from a single ended sequencing run stored as fastq files on an s3 bucket:
|
57
64
|
- `https://s3.wasabisys.com/mybucketname/Sample1_L1_R1.fastq.gz`
|
58
65
|
- `https://s3.wasabisys.com/mybucketname/Sample1_L1_R2.fastq.gz`
|
59
66
|
- `https://s3.wasabisys.com/mybucketname/Sample1_L2_R1.fastq.gz`
|
@@ -55,7 +55,7 @@ def version():
|
|
55
55
|
Use of this tool implies acceptance of the GeoSeeq End User License Agreement.
|
56
56
|
Run `geoseeq eula show` to view the EULA.
|
57
57
|
"""
|
58
|
-
click.echo("0.7.
|
58
|
+
click.echo("0.7.4") # remember to update pyproject.toml
|
59
59
|
|
60
60
|
|
61
61
|
@main.group("advanced")
|
@@ -1,9 +1,10 @@
|
|
1
|
+
# pylint: disable=line-too-long
|
1
2
|
import logging
|
2
3
|
import click
|
3
4
|
import requests
|
4
5
|
from os.path import basename
|
5
6
|
import pandas as pd
|
6
|
-
from multiprocessing import
|
7
|
+
from multiprocessing import current_process
|
7
8
|
|
8
9
|
from geoseeq.cli.constants import *
|
9
10
|
from geoseeq.cli.shared_params import (
|
@@ -46,10 +47,10 @@ def _upload_one_file(args):
|
|
46
47
|
|
47
48
|
def _get_regex(knex, filepaths, module_name, lib, regex):
|
48
49
|
"""Return a regex that will group the files into samples
|
49
|
-
|
50
|
+
|
50
51
|
Tell the user how many files did could not be matched using the regex.
|
51
52
|
"""
|
52
|
-
|
53
|
+
_, seq_type = module_name.split('::')[:2]
|
53
54
|
args = {
|
54
55
|
'filenames': list(filepaths.keys()),
|
55
56
|
'sequence_type': seq_type,
|
@@ -181,7 +182,13 @@ def flatten_list_of_bams(filepaths):
|
|
181
182
|
@private_option
|
182
183
|
@link_option
|
183
184
|
@no_new_versions_option
|
184
|
-
@click.option(
|
185
|
+
@click.option(
|
186
|
+
'--name-map',
|
187
|
+
default=None,
|
188
|
+
nargs=3,
|
189
|
+
required=False,
|
190
|
+
help='Optional CSV and column names used to map existing names to new ones. Provide: <file> <current_name_col> <new_name_col>.'
|
191
|
+
)
|
185
192
|
@module_option(FASTQ_MODULE_NAMES)
|
186
193
|
@project_id_arg
|
187
194
|
@click.argument('fastq_files', type=click.Path(exists=True), nargs=-1)
|
@@ -214,15 +221,23 @@ def cli_upload_reads_wizard(state, cores, overwrite, yes, regex, private, link_t
|
|
214
221
|
$ ls -1 path/to/fastq/files/*.fastq.gz > file_list.txt
|
215
222
|
$ geoseeq upload reads --yes --overwrite "GeoSeeq/Example CLI Project" file_list.txt
|
216
223
|
|
224
|
+
\b
|
225
|
+
# Remap sample names using a CSV file with current and new names
|
226
|
+
$ geoseeq upload reads --name-map sample_map.csv current_name new_name "GeoSeeq/Example CLI Project" fastq_files.txt
|
227
|
+
|
217
228
|
---
|
218
229
|
|
230
|
+
The optional ``--name-map`` flag takes three values: a CSV filename,
|
231
|
+
the column containing current names and the column containing new names.
|
232
|
+
When provided, sample names will be translated during upload.
|
233
|
+
|
219
234
|
Command Arguments:
|
220
|
-
|
235
|
+
|
221
236
|
[PROJECT_ID] Can be a project UUID, GeoSeeq Resource Number (GRN), or an
|
222
237
|
organization name and project name separated by a slash.
|
223
238
|
|
224
239
|
\b
|
225
|
-
Examples:
|
240
|
+
Examples:
|
226
241
|
- Name pair: "GeoSeeq/Example CLI Project"
|
227
242
|
- UUID: "ed59b913-91ec-489b-a1b9-4ea137a6e5cf"
|
228
243
|
- GRN: "grn:gs1:project:ed59b913-91ec-489b-a1b9-4ea137a6e5cf"
|
@@ -284,12 +299,12 @@ def cli_upload_reads_wizard(state, cores, overwrite, yes, regex, private, link_t
|
|
284
299
|
---
|
285
300
|
|
286
301
|
Command Arguments:
|
287
|
-
|
302
|
+
|
288
303
|
[PROJECT_ID] Can be a project UUID, GeoSeeq Resource Number (GRN), or an
|
289
304
|
organization name and project name separated by a slash.
|
290
305
|
|
291
306
|
\b
|
292
|
-
Examples:
|
307
|
+
Examples:
|
293
308
|
- Name pair: "GeoSeeq/Example CLI Project"
|
294
309
|
- UUID: "ed59b913-91ec-489b-a1b9-4ea137a6e5cf"
|
295
310
|
- GRN: "grn:gs1:project:ed59b913-91ec-489b-a1b9-4ea137a6e5cf"
|
@@ -303,4 +318,14 @@ def cli_upload_reads_wizard(state, cores, overwrite, yes, regex, private, link_t
|
|
303
318
|
# filepaths = {basename(line): line for line in flatten_list_of_bams(files)}
|
304
319
|
# click.echo(f'Found {len(filepaths)} files to upload.', err=True)
|
305
320
|
# groups = _group_files(knex, filepaths, 'bam::bam', regex, yes)
|
306
|
-
# _do_upload(
|
321
|
+
# _do_upload(
|
322
|
+
# groups,
|
323
|
+
# 'bam::bam',
|
324
|
+
# link_type,
|
325
|
+
# proj,
|
326
|
+
# filepaths,
|
327
|
+
# overwrite,
|
328
|
+
# no_new_versions,
|
329
|
+
# cores,
|
330
|
+
# state,
|
331
|
+
# )
|
@@ -7,6 +7,7 @@ FASTQ_MODULE_NAMES = [
|
|
7
7
|
'short_read::paired_end',
|
8
8
|
'short_read::single_end',
|
9
9
|
'long_read::nanopore',
|
10
|
+
'long_read::pacbio',
|
10
11
|
'raw::raw_reads',
|
11
12
|
'genome::fasta',
|
12
13
|
]
|
@@ -16,4 +17,12 @@ CONFIG_FOLDER = environ.get("XDG_CONFIG_HOME", join(environ["HOME"], ".config"))
|
|
16
17
|
CONFIG_DIR = environ.get("GEOSEEQ_CONFIG_DIR", join(CONFIG_FOLDER, "geoseeq"))
|
17
18
|
PROFILES_PATH = join(CONFIG_DIR, "profiles.json")
|
18
19
|
|
19
|
-
OBJECT_TYPE_STR = Literal[
|
20
|
+
OBJECT_TYPE_STR = Literal[
|
21
|
+
'org',
|
22
|
+
'project',
|
23
|
+
'sample',
|
24
|
+
'sample_result_folder',
|
25
|
+
'project_result_folder',
|
26
|
+
'sample_result_file',
|
27
|
+
'project_result_file',
|
28
|
+
]
|
@@ -1,6 +1,6 @@
|
|
1
1
|
import urllib
|
2
2
|
from .remote_object import RemoteObject
|
3
|
-
from .result import
|
3
|
+
from .result import SampleResultFolder
|
4
4
|
|
5
5
|
|
6
6
|
class Sample(RemoteObject):
|
@@ -166,12 +166,14 @@ class Sample(RemoteObject):
|
|
166
166
|
"short_read::paired_end"
|
167
167
|
"short_read::single_end"
|
168
168
|
"long_read::nanopore"
|
169
|
+
"long_read::pacbio"
|
169
170
|
"""
|
170
171
|
if preference_order is None:
|
171
172
|
preference_order = [
|
172
173
|
"short_read::paired_end",
|
173
174
|
"short_read::single_end",
|
174
175
|
"long_read::nanopore",
|
176
|
+
"long_read::pacbio",
|
175
177
|
]
|
176
178
|
all_fastqs = self.get_all_fastqs()
|
177
179
|
for read_type in preference_order:
|
@@ -5,7 +5,8 @@ import setuptools
|
|
5
5
|
|
6
6
|
setuptools.setup(
|
7
7
|
name='geoseeq',
|
8
|
-
version='0.
|
8
|
+
version='0.7.4', # DEPRECATED see pyproject.toml
|
9
|
+
# remember to update version string in CLI as well
|
9
10
|
author="David C. Danko",
|
10
11
|
author_email='dcdanko@biotia.io',
|
11
12
|
description=open('README.md').read(),
|
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
|
{geoseeq-0.7.3.dev4 → geoseeq-0.7.4}/docs/examples/simple_python_example/sample_dashboard_example.py
RENAMED
File without changes
|
{geoseeq-0.7.3.dev4 → geoseeq-0.7.4}/docs/examples/simple_python_example/simple_python_example.py
RENAMED
File without changes
|
{geoseeq-0.7.3.dev4 → geoseeq-0.7.4}/docs/examples/simple_python_example/smart_table_example.py
RENAMED
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
|
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
|
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
|
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
|
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
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|