kssdtree 1.1.6__tar.gz → 1.1.8__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.
- {kssdtree-1.1.6/kssdtree.egg-info → kssdtree-1.1.8}/PKG-INFO +1 -1
- {kssdtree-1.1.6 → kssdtree-1.1.8}/command_dist.c +1 -2
- {kssdtree-1.1.6 → kssdtree-1.1.8}/kssdheaders/global_basic.h +2 -0
- {kssdtree-1.1.6 → kssdtree-1.1.8/kssdtree.egg-info}/PKG-INFO +1 -1
- {kssdtree-1.1.6 → kssdtree-1.1.8}/kssdtree.py +22 -31
- {kssdtree-1.1.6 → kssdtree-1.1.8}/setup.py +14 -18
- {kssdtree-1.1.6 → kssdtree-1.1.8}/toolutils.py +1 -1
- {kssdtree-1.1.6 → kssdtree-1.1.8}/MANIFEST.in +0 -0
- {kssdtree-1.1.6 → kssdtree-1.1.8}/README.md +0 -0
- {kssdtree-1.1.6 → kssdtree-1.1.8}/align.c +0 -0
- {kssdtree-1.1.6 → kssdtree-1.1.8}/buildtree.c +0 -0
- {kssdtree-1.1.6 → kssdtree-1.1.8}/bytescale.c +0 -0
- {kssdtree-1.1.6 → kssdtree-1.1.8}/cluster.c +0 -0
- {kssdtree-1.1.6 → kssdtree-1.1.8}/co2mco.c +0 -0
- {kssdtree-1.1.6 → kssdtree-1.1.8}/command_composite.c +0 -0
- {kssdtree-1.1.6 → kssdtree-1.1.8}/command_dist_wrapper.c +0 -0
- {kssdtree-1.1.6 → kssdtree-1.1.8}/command_set.c +0 -0
- {kssdtree-1.1.6 → kssdtree-1.1.8}/command_shuffle.c +0 -0
- {kssdtree-1.1.6 → kssdtree-1.1.8}/distancemat.c +0 -0
- {kssdtree-1.1.6 → kssdtree-1.1.8}/dnj.c +0 -0
- {kssdtree-1.1.6 → kssdtree-1.1.8}/dnjheaders/bytescale.h +0 -0
- {kssdtree-1.1.6 → kssdtree-1.1.8}/dnjheaders/dnj.h +0 -0
- {kssdtree-1.1.6 → kssdtree-1.1.8}/dnjheaders/filebuff.h +0 -0
- {kssdtree-1.1.6 → kssdtree-1.1.8}/dnjheaders/hclust.h +0 -0
- {kssdtree-1.1.6 → kssdtree-1.1.8}/dnjheaders/matrix.h +0 -0
- {kssdtree-1.1.6 → kssdtree-1.1.8}/dnjheaders/mman.h +0 -0
- {kssdtree-1.1.6 → kssdtree-1.1.8}/dnjheaders/nj.h +0 -0
- {kssdtree-1.1.6 → kssdtree-1.1.8}/dnjheaders/nwck.h +0 -0
- {kssdtree-1.1.6 → kssdtree-1.1.8}/dnjheaders/pherror.h +0 -0
- {kssdtree-1.1.6 → kssdtree-1.1.8}/dnjheaders/phy.h +0 -0
- {kssdtree-1.1.6 → kssdtree-1.1.8}/dnjheaders/qseqs.h +0 -0
- {kssdtree-1.1.6 → kssdtree-1.1.8}/dnjheaders/str.h +0 -0
- {kssdtree-1.1.6 → kssdtree-1.1.8}/dnjheaders/threader.h +0 -0
- {kssdtree-1.1.6 → kssdtree-1.1.8}/dnjheaders/tmp.h +0 -0
- {kssdtree-1.1.6 → kssdtree-1.1.8}/dnjheaders/vector.h +0 -0
- {kssdtree-1.1.6 → kssdtree-1.1.8}/filebuff.c +0 -0
- {kssdtree-1.1.6 → kssdtree-1.1.8}/global_basic.c +0 -0
- {kssdtree-1.1.6 → kssdtree-1.1.8}/hclust.c +0 -0
- {kssdtree-1.1.6 → kssdtree-1.1.8}/iseq2comem.c +0 -0
- {kssdtree-1.1.6 → kssdtree-1.1.8}/kssdheaders/co2mco.h +0 -0
- {kssdtree-1.1.6 → kssdtree-1.1.8}/kssdheaders/command_composite.h +0 -0
- {kssdtree-1.1.6 → kssdtree-1.1.8}/kssdheaders/command_dist.h +0 -0
- {kssdtree-1.1.6 → kssdtree-1.1.8}/kssdheaders/command_dist_wrapper.h +0 -0
- {kssdtree-1.1.6 → kssdtree-1.1.8}/kssdheaders/command_set.h +0 -0
- {kssdtree-1.1.6 → kssdtree-1.1.8}/kssdheaders/command_shuffle.h +0 -0
- {kssdtree-1.1.6 → kssdtree-1.1.8}/kssdheaders/iseq2comem.h +0 -0
- {kssdtree-1.1.6 → kssdtree-1.1.8}/kssdheaders/mman.h +0 -0
- {kssdtree-1.1.6 → kssdtree-1.1.8}/kssdheaders/mytime.h +0 -0
- {kssdtree-1.1.6 → kssdtree-1.1.8}/kssdtree.egg-info/SOURCES.txt +0 -0
- {kssdtree-1.1.6 → kssdtree-1.1.8}/kssdtree.egg-info/dependency_links.txt +0 -0
- {kssdtree-1.1.6 → kssdtree-1.1.8}/kssdtree.egg-info/not-zip-safe +0 -0
- {kssdtree-1.1.6 → kssdtree-1.1.8}/kssdtree.egg-info/requires.txt +0 -0
- {kssdtree-1.1.6 → kssdtree-1.1.8}/kssdtree.egg-info/top_level.txt +0 -0
- {kssdtree-1.1.6 → kssdtree-1.1.8}/matrix.c +0 -0
- {kssdtree-1.1.6 → kssdtree-1.1.8}/mman.c +0 -0
- {kssdtree-1.1.6 → kssdtree-1.1.8}/mytime.c +0 -0
- {kssdtree-1.1.6 → kssdtree-1.1.8}/nj.c +0 -0
- {kssdtree-1.1.6 → kssdtree-1.1.8}/njheaders/align.h +0 -0
- {kssdtree-1.1.6 → kssdtree-1.1.8}/njheaders/buildtree.h +0 -0
- {kssdtree-1.1.6 → kssdtree-1.1.8}/njheaders/cluster.h +0 -0
- {kssdtree-1.1.6 → kssdtree-1.1.8}/njheaders/distancemat.h +0 -0
- {kssdtree-1.1.6 → kssdtree-1.1.8}/njheaders/sequence.h +0 -0
- {kssdtree-1.1.6 → kssdtree-1.1.8}/njheaders/tree.h +0 -0
- {kssdtree-1.1.6 → kssdtree-1.1.8}/njheaders/util.h +0 -0
- {kssdtree-1.1.6 → kssdtree-1.1.8}/nwck.c +0 -0
- {kssdtree-1.1.6 → kssdtree-1.1.8}/pherror.c +0 -0
- {kssdtree-1.1.6 → kssdtree-1.1.8}/phy.c +0 -0
- {kssdtree-1.1.6 → kssdtree-1.1.8}/pydnj.c +0 -0
- {kssdtree-1.1.6 → kssdtree-1.1.8}/pykssd.c +0 -0
- {kssdtree-1.1.6 → kssdtree-1.1.8}/pynj.c +0 -0
- {kssdtree-1.1.6 → kssdtree-1.1.8}/qseqs.c +0 -0
- {kssdtree-1.1.6 → kssdtree-1.1.8}/sequence.c +0 -0
- {kssdtree-1.1.6 → kssdtree-1.1.8}/setup.cfg +0 -0
- {kssdtree-1.1.6 → kssdtree-1.1.8}/str.c +0 -0
- {kssdtree-1.1.6 → kssdtree-1.1.8}/tmp.c +0 -0
- {kssdtree-1.1.6 → kssdtree-1.1.8}/tree.c +0 -0
- {kssdtree-1.1.6 → kssdtree-1.1.8}/util.c +0 -0
- {kssdtree-1.1.6 → kssdtree-1.1.8}/vector.c +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: kssdtree
|
|
3
|
-
Version: 1.1.
|
|
3
|
+
Version: 1.1.8
|
|
4
4
|
Summary: Kssdtree is a versatile Python package for phylogenetic analysis. It also provides one-stop tree construction and visualization. It can handle DNA sequences of both fasta or fastq format, whether gzipped or not.
|
|
5
5
|
Home-page: https://github.com/yhlink/kssdtree
|
|
6
6
|
Download-URL: https://pypi.org/project/kssdtree
|
|
@@ -32,6 +32,7 @@
|
|
|
32
32
|
#include <zlib.h>
|
|
33
33
|
#include <stdbool.h>
|
|
34
34
|
#include <libgen.h>
|
|
35
|
+
|
|
35
36
|
#ifdef _WIN32
|
|
36
37
|
#include <malloc.h>
|
|
37
38
|
#elif __linux__
|
|
@@ -41,9 +42,7 @@
|
|
|
41
42
|
#endif
|
|
42
43
|
|
|
43
44
|
#ifdef _WIN32
|
|
44
|
-
|
|
45
45
|
#include <windows.h>
|
|
46
|
-
|
|
47
46
|
#endif
|
|
48
47
|
|
|
49
48
|
#ifdef _WIN32
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: kssdtree
|
|
3
|
-
Version: 1.1.
|
|
3
|
+
Version: 1.1.8
|
|
4
4
|
Summary: Kssdtree is a versatile Python package for phylogenetic analysis. It also provides one-stop tree construction and visualization. It can handle DNA sequences of both fasta or fastq format, whether gzipped or not.
|
|
5
5
|
Home-page: https://github.com/yhlink/kssdtree
|
|
6
6
|
Download-URL: https://pypi.org/project/kssdtree
|
|
@@ -44,7 +44,8 @@ def sketch(shuf_file=None, genome_files=None, output=None, set_opt=None):
|
|
|
44
44
|
"Network timeout, please manually download from github (https://github.com/yhlink/kssdtree/tree/master/shuffle_file)")
|
|
45
45
|
return False
|
|
46
46
|
print('Download finished: ', shuf_file)
|
|
47
|
-
elif shuf_file in ['L2K8.shuf', 'L3K10.shuf', 'L2K9.shuf', 'L3K11.shuf', './L2K8.shuf', './L3K10.shuf',
|
|
47
|
+
elif shuf_file in ['L2K8.shuf', 'L3K10.shuf', 'L2K9.shuf', 'L3K11.shuf', './L2K8.shuf', './L3K10.shuf',
|
|
48
|
+
'./L2K9.shuf', './L3K11.shuf']:
|
|
48
49
|
print('Shuffling...', shuf_file)
|
|
49
50
|
file_name = shuf_file.split('.')[0]
|
|
50
51
|
k = int(file_name[3:])
|
|
@@ -124,6 +125,9 @@ def retrieve(ref_sketch=None, qry_sketch=None, output=None, N=None, method=None)
|
|
|
124
125
|
os.makedirs(output)
|
|
125
126
|
print("Created directory:", output)
|
|
126
127
|
newick, accession_taxonomy = toolutils.upload_request(qry_sketch=qry_sketch, method=method, N=N)
|
|
128
|
+
if newick is None:
|
|
129
|
+
print('Server error!!!')
|
|
130
|
+
return False
|
|
127
131
|
with open(os.path.join(output, 'output.newick'), 'w') as f:
|
|
128
132
|
f.write(newick)
|
|
129
133
|
with open(os.path.join(output, 'output_accession_taxonomy.txt'), 'w') as f:
|
|
@@ -283,6 +287,9 @@ def quick(shuf_file=None, genome_files=None, output=None, reference=None, taxono
|
|
|
283
287
|
s3 = build(phylip=temp_phy, output=output, method=method)
|
|
284
288
|
if not s3:
|
|
285
289
|
return False
|
|
290
|
+
print('Step4...')
|
|
291
|
+
print('Tree visualization finished!')
|
|
292
|
+
visualize(newick=output, taxonomy=taxonomy, mode=mode)
|
|
286
293
|
if platform.system() == 'Linux':
|
|
287
294
|
current_directory = os.getcwd()
|
|
288
295
|
temp_dir1 = os.path.join(current_directory, temp_sketch)
|
|
@@ -293,13 +300,6 @@ def quick(shuf_file=None, genome_files=None, output=None, reference=None, taxono
|
|
|
293
300
|
shutil.rmtree(temp_dir2)
|
|
294
301
|
if os.path.exists(temp_phy):
|
|
295
302
|
os.remove(temp_phy)
|
|
296
|
-
print('Step4...')
|
|
297
|
-
print('Tree visualization finished!')
|
|
298
|
-
visualize(newick=output, taxonomy=taxonomy, mode=mode)
|
|
299
|
-
else:
|
|
300
|
-
print('Step4...')
|
|
301
|
-
print('Tree visualization finished!')
|
|
302
|
-
visualize(newick=output, taxonomy=taxonomy, mode=mode)
|
|
303
303
|
else:
|
|
304
304
|
print('Args error!!!')
|
|
305
305
|
return False
|
|
@@ -313,29 +313,24 @@ def quick(shuf_file=None, genome_files=None, output=None, reference=None, taxono
|
|
|
313
313
|
print("shuffle file must be set to 'L3K9.shuf'")
|
|
314
314
|
return False
|
|
315
315
|
timeStamp = int(time.mktime(time.localtime(time.time())))
|
|
316
|
-
qry_sketch =
|
|
316
|
+
qry_sketch = 'sketch_' + str(timeStamp)
|
|
317
317
|
s1 = sketch(shuf_file=shuf_file, genome_files=genome_files, output=qry_sketch, set_opt=True)
|
|
318
318
|
if not s1:
|
|
319
319
|
return False
|
|
320
320
|
s2 = retrieve(ref_sketch=reference, qry_sketch=qry_sketch, output=output, N=N, method=method)
|
|
321
321
|
if not s2:
|
|
322
322
|
return False
|
|
323
|
+
print('Tree visualization finished!')
|
|
324
|
+
visualize(newick=os.path.join(output, 'output.newick'),
|
|
325
|
+
taxonomy=os.path.join(output, 'output_accession_taxonomy.txt'), mode=None)
|
|
323
326
|
if platform.system() == 'Linux':
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
os.remove(temp_dir2)
|
|
332
|
-
print('Tree visualization finished!')
|
|
333
|
-
visualize(newick=os.path.join(output, 'output.newick'),
|
|
334
|
-
taxonomy=os.path.join(output, 'output_accession_taxonomy.txt'), mode=None)
|
|
335
|
-
else:
|
|
336
|
-
print('Tree visualization finished!')
|
|
337
|
-
visualize(newick=os.path.join(output, 'output.newick'),
|
|
338
|
-
taxonomy=os.path.join(output, 'output_accession_taxonomy.txt'), mode=None)
|
|
327
|
+
current_directory = os.getcwd()
|
|
328
|
+
temp_dir1 = os.path.join(current_directory, qry_sketch)
|
|
329
|
+
temp_dir2 = os.path.join(current_directory, qry_sketch + '.zip')
|
|
330
|
+
if os.path.exists(temp_dir1):
|
|
331
|
+
shutil.rmtree(temp_dir1)
|
|
332
|
+
if os.path.exists(temp_dir2):
|
|
333
|
+
os.remove(temp_dir2)
|
|
339
334
|
else:
|
|
340
335
|
print('Args error!!!')
|
|
341
336
|
return False
|
|
@@ -385,6 +380,9 @@ def quick(shuf_file=None, genome_files=None, output=None, reference=None, taxono
|
|
|
385
380
|
s6 = build(phylip=temp_phy, output=output, method=method)
|
|
386
381
|
if not s6:
|
|
387
382
|
return False
|
|
383
|
+
print('Step5...')
|
|
384
|
+
print('Tree visualization finished!')
|
|
385
|
+
visualize(newick=output, taxonomy=taxonomy, mode=mode)
|
|
388
386
|
if platform.system() == 'Linux':
|
|
389
387
|
current_directory = os.getcwd()
|
|
390
388
|
temp_dir1 = os.path.join(current_directory, temp_reference_sketch)
|
|
@@ -404,13 +402,6 @@ def quick(shuf_file=None, genome_files=None, output=None, reference=None, taxono
|
|
|
404
402
|
shutil.rmtree(temp_dir5)
|
|
405
403
|
if os.path.exists(temp_phy):
|
|
406
404
|
os.remove(temp_phy)
|
|
407
|
-
print('Step5...')
|
|
408
|
-
print('Tree visualization finished!')
|
|
409
|
-
visualize(newick=output, taxonomy=taxonomy, mode=mode)
|
|
410
|
-
else:
|
|
411
|
-
print('Step5...')
|
|
412
|
-
print('Tree visualization finished!')
|
|
413
|
-
visualize(newick=output, taxonomy=taxonomy, mode=mode)
|
|
414
405
|
else:
|
|
415
406
|
print('Args error!!!')
|
|
416
407
|
return False
|
|
@@ -12,24 +12,20 @@ def get_gcc_version():
|
|
|
12
12
|
version_str = version_line.split()[-1]
|
|
13
13
|
return version_str
|
|
14
14
|
|
|
15
|
-
|
|
16
|
-
gcc_version = get_gcc_version()
|
|
17
|
-
if '9.' in gcc_version:
|
|
18
|
-
gcc_path = "/opt/homebrew/bin/gcc-9"
|
|
19
|
-
elif '10.' in gcc_version:
|
|
20
|
-
gcc_path = "/opt/homebrew/bin/gcc-10"
|
|
21
|
-
elif '11.' in gcc_version:
|
|
22
|
-
gcc_path = "/opt/homebrew/bin/gcc-11"
|
|
23
|
-
elif '12.' in gcc_version:
|
|
24
|
-
gcc_path = "/opt/homebrew/bin/gcc-12"
|
|
25
|
-
elif '14.' in gcc_version:
|
|
26
|
-
gcc_path = "/opt/homebrew/bin/gcc-14"
|
|
27
|
-
else:
|
|
28
|
-
gcc_path = "/opt/homebrew/bin/gcc-13"
|
|
29
|
-
|
|
30
|
-
|
|
31
15
|
if 'darwin' in sys.platform:
|
|
32
|
-
|
|
16
|
+
gcc_version = get_gcc_version()
|
|
17
|
+
if '9.' in gcc_version:
|
|
18
|
+
gcc_path = "/opt/homebrew/bin/gcc-9"
|
|
19
|
+
elif '10.' in gcc_version:
|
|
20
|
+
gcc_path = "/opt/homebrew/bin/gcc-10"
|
|
21
|
+
elif '11.' in gcc_version:
|
|
22
|
+
gcc_path = "/opt/homebrew/bin/gcc-11"
|
|
23
|
+
elif '12.' in gcc_version:
|
|
24
|
+
gcc_path = "/opt/homebrew/bin/gcc-12"
|
|
25
|
+
elif '14.' in gcc_version:
|
|
26
|
+
gcc_path = "/opt/homebrew/bin/gcc-14"
|
|
27
|
+
else:
|
|
28
|
+
gcc_path = "/opt/homebrew/bin/gcc-13"
|
|
33
29
|
gcc_command = 'gcc-' + str(gcc_version)
|
|
34
30
|
extra_compile_args = ['-fopenmp']
|
|
35
31
|
extra_link_args = ['-fopenmp']
|
|
@@ -94,7 +90,7 @@ require_pakages = [
|
|
|
94
90
|
|
|
95
91
|
setup(
|
|
96
92
|
name='kssdtree',
|
|
97
|
-
version='1.1.
|
|
93
|
+
version='1.1.8',
|
|
98
94
|
author='Hang Yang',
|
|
99
95
|
author_email='yhlink1207@gmail.com',
|
|
100
96
|
description="Kssdtree is a versatile Python package for phylogenetic analysis. It also provides one-stop tree construction and visualization. It can handle DNA sequences of both fasta or fastq format, whether gzipped or not. ",
|
|
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
|