biobb-io 4.0.0__py3-none-any.whl → 4.1.1__py3-none-any.whl
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.
- biobb_io/__init__.py +1 -1
- biobb_io/api/__init__.py +1 -1
- biobb_io/api/alphafold.py +17 -15
- biobb_io/api/api_binding_site.py +22 -17
- biobb_io/api/canonical_fasta.py +19 -17
- biobb_io/api/common.py +46 -22
- biobb_io/api/drugbank.py +20 -18
- biobb_io/api/ideal_sdf.py +19 -17
- biobb_io/api/ligand.py +24 -22
- biobb_io/api/memprotmd_sim.py +19 -17
- biobb_io/api/memprotmd_sim_list.py +14 -12
- biobb_io/api/memprotmd_sim_search.py +19 -17
- biobb_io/api/mmcif.py +19 -17
- biobb_io/api/pdb.py +19 -17
- biobb_io/api/pdb_cluster_zip.py +26 -23
- biobb_io/api/pdb_variants.py +20 -17
- biobb_io/api/structure_info.py +18 -16
- {biobb_io-4.0.0.dist-info → biobb_io-4.1.1.dist-info}/METADATA +24 -15
- biobb_io-4.1.1.dist-info/RECORD +24 -0
- {biobb_io-4.0.0.dist-info → biobb_io-4.1.1.dist-info}/WHEEL +1 -1
- biobb_io-4.0.0.dist-info/RECORD +0 -24
- {biobb_io-4.0.0.dist-info → biobb_io-4.1.1.dist-info}/LICENSE +0 -0
- {biobb_io-4.0.0.dist-info → biobb_io-4.1.1.dist-info}/entry_points.txt +0 -0
- {biobb_io-4.0.0.dist-info → biobb_io-4.1.1.dist-info}/top_level.txt +0 -0
biobb_io/api/mmcif.py
CHANGED
|
@@ -3,10 +3,9 @@
|
|
|
3
3
|
"""Module containing the Mmcif class and the command line interface."""
|
|
4
4
|
import argparse
|
|
5
5
|
from biobb_common.generic.biobb_object import BiobbObject
|
|
6
|
-
from biobb_common.configuration import
|
|
7
|
-
from biobb_common.tools import file_utils as fu
|
|
6
|
+
from biobb_common.configuration import settings
|
|
8
7
|
from biobb_common.tools.file_utils import launchlogger
|
|
9
|
-
from biobb_io.api.common import
|
|
8
|
+
from biobb_io.api.common import check_output_path, check_mandatory_property, download_mmcif, write_mmcif
|
|
10
9
|
|
|
11
10
|
|
|
12
11
|
class Mmcif(BiobbObject):
|
|
@@ -27,11 +26,11 @@ class Mmcif(BiobbObject):
|
|
|
27
26
|
This is a use example of how to use the building block from Python::
|
|
28
27
|
|
|
29
28
|
from biobb_io.api.mmcif import mmcif
|
|
30
|
-
prop = {
|
|
31
|
-
'pdb_code': '2VGB',
|
|
32
|
-
'api_id': 'pdbe'
|
|
29
|
+
prop = {
|
|
30
|
+
'pdb_code': '2VGB',
|
|
31
|
+
'api_id': 'pdbe'
|
|
33
32
|
}
|
|
34
|
-
mmcif(output_mmcif_path='/path/to/newStructure.mmcif',
|
|
33
|
+
mmcif(output_mmcif_path='/path/to/newStructure.mmcif',
|
|
35
34
|
properties=prop)
|
|
36
35
|
|
|
37
36
|
Info:
|
|
@@ -44,8 +43,8 @@ class Mmcif(BiobbObject):
|
|
|
44
43
|
|
|
45
44
|
"""
|
|
46
45
|
|
|
47
|
-
def __init__(self, output_mmcif_path,
|
|
48
|
-
|
|
46
|
+
def __init__(self, output_mmcif_path,
|
|
47
|
+
properties=None, **kwargs) -> None:
|
|
49
48
|
properties = properties or {}
|
|
50
49
|
|
|
51
50
|
# Call parent class constructor
|
|
@@ -53,8 +52,8 @@ class Mmcif(BiobbObject):
|
|
|
53
52
|
self.locals_var_dict = locals().copy()
|
|
54
53
|
|
|
55
54
|
# Input/Output files
|
|
56
|
-
self.io_dict = {
|
|
57
|
-
"out": {
|
|
55
|
+
self.io_dict = {
|
|
56
|
+
"out": {"output_mmcif_path": output_mmcif_path}
|
|
58
57
|
}
|
|
59
58
|
|
|
60
59
|
# Properties specific for BB
|
|
@@ -73,13 +72,13 @@ class Mmcif(BiobbObject):
|
|
|
73
72
|
@launchlogger
|
|
74
73
|
def launch(self) -> int:
|
|
75
74
|
"""Execute the :class:`Mmcif <api.mmcif.Mmcif>` api.mmcif.Mmcif object."""
|
|
76
|
-
|
|
75
|
+
|
|
77
76
|
# check input/output paths and parameters
|
|
78
77
|
self.check_data_params(self.out_log, self.err_log)
|
|
79
78
|
|
|
80
79
|
# Setup Biobb
|
|
81
|
-
if self.check_restart():
|
|
82
|
-
|
|
80
|
+
if self.check_restart():
|
|
81
|
+
return 0
|
|
83
82
|
|
|
84
83
|
check_mandatory_property(self.pdb_code, 'pdb_code', self.out_log, self.__class__.__name__)
|
|
85
84
|
|
|
@@ -93,12 +92,14 @@ class Mmcif(BiobbObject):
|
|
|
93
92
|
|
|
94
93
|
return 0
|
|
95
94
|
|
|
95
|
+
|
|
96
96
|
def mmcif(output_mmcif_path: str, properties: dict = None, **kwargs) -> int:
|
|
97
97
|
"""Execute the :class:`Mmcif <api.mmcif.Mmcif>` class and
|
|
98
98
|
execute the :meth:`launch() <api.mmcif.Mmcif.launch>` method."""
|
|
99
99
|
|
|
100
100
|
return Mmcif(output_mmcif_path=output_mmcif_path,
|
|
101
|
-
|
|
101
|
+
properties=properties, **kwargs).launch()
|
|
102
|
+
|
|
102
103
|
|
|
103
104
|
def main():
|
|
104
105
|
"""Command line execution of this building block. Please check the command line documentation."""
|
|
@@ -114,8 +115,9 @@ def main():
|
|
|
114
115
|
properties = settings.ConfReader(config=config).get_prop_dic()
|
|
115
116
|
|
|
116
117
|
# Specific call of each building block
|
|
117
|
-
mmcif(output_mmcif_path=args.output_mmcif_path,
|
|
118
|
-
|
|
118
|
+
mmcif(output_mmcif_path=args.output_mmcif_path,
|
|
119
|
+
properties=properties)
|
|
120
|
+
|
|
119
121
|
|
|
120
122
|
if __name__ == '__main__':
|
|
121
123
|
main()
|
biobb_io/api/pdb.py
CHANGED
|
@@ -3,10 +3,9 @@
|
|
|
3
3
|
"""Module containing the Pdb class and the command line interface."""
|
|
4
4
|
import argparse
|
|
5
5
|
from biobb_common.generic.biobb_object import BiobbObject
|
|
6
|
-
from biobb_common.configuration import
|
|
7
|
-
from biobb_common.tools import file_utils as fu
|
|
6
|
+
from biobb_common.configuration import settings
|
|
8
7
|
from biobb_common.tools.file_utils import launchlogger
|
|
9
|
-
from biobb_io.api.common import
|
|
8
|
+
from biobb_io.api.common import check_mandatory_property, check_output_path, download_pdb, write_pdb
|
|
10
9
|
|
|
11
10
|
|
|
12
11
|
class Pdb(BiobbObject):
|
|
@@ -28,12 +27,12 @@ class Pdb(BiobbObject):
|
|
|
28
27
|
This is a use example of how to use the building block from Python::
|
|
29
28
|
|
|
30
29
|
from biobb_io.api.pdb import pdb
|
|
31
|
-
prop = {
|
|
32
|
-
'pdb_code': '2VGB',
|
|
33
|
-
'filter': ['ATOM', 'MODEL', 'ENDMDL'],
|
|
34
|
-
'api_id': 'pdbe'
|
|
30
|
+
prop = {
|
|
31
|
+
'pdb_code': '2VGB',
|
|
32
|
+
'filter': ['ATOM', 'MODEL', 'ENDMDL'],
|
|
33
|
+
'api_id': 'pdbe'
|
|
35
34
|
}
|
|
36
|
-
pdb(output_pdb_path='/path/to/newStructure.pdb',
|
|
35
|
+
pdb(output_pdb_path='/path/to/newStructure.pdb',
|
|
37
36
|
properties=prop)
|
|
38
37
|
|
|
39
38
|
Info:
|
|
@@ -46,8 +45,8 @@ class Pdb(BiobbObject):
|
|
|
46
45
|
|
|
47
46
|
"""
|
|
48
47
|
|
|
49
|
-
def __init__(self, output_pdb_path,
|
|
50
|
-
|
|
48
|
+
def __init__(self, output_pdb_path,
|
|
49
|
+
properties=None, **kwargs) -> None:
|
|
51
50
|
properties = properties or {}
|
|
52
51
|
|
|
53
52
|
# Call parent class constructor
|
|
@@ -55,8 +54,8 @@ class Pdb(BiobbObject):
|
|
|
55
54
|
self.locals_var_dict = locals().copy()
|
|
56
55
|
|
|
57
56
|
# Input/Output files
|
|
58
|
-
self.io_dict = {
|
|
59
|
-
"out": {
|
|
57
|
+
self.io_dict = {
|
|
58
|
+
"out": {"output_pdb_path": output_pdb_path}
|
|
60
59
|
}
|
|
61
60
|
|
|
62
61
|
# Properties specific for BB
|
|
@@ -76,13 +75,13 @@ class Pdb(BiobbObject):
|
|
|
76
75
|
@launchlogger
|
|
77
76
|
def launch(self) -> int:
|
|
78
77
|
"""Execute the :class:`Pdb <api.pdb.Pdb>` api.pdb.Pdb object."""
|
|
79
|
-
|
|
78
|
+
|
|
80
79
|
# check input/output paths and parameters
|
|
81
80
|
self.check_data_params(self.out_log, self.err_log)
|
|
82
81
|
|
|
83
82
|
# Setup Biobb
|
|
84
|
-
if self.check_restart():
|
|
85
|
-
|
|
83
|
+
if self.check_restart():
|
|
84
|
+
return 0
|
|
86
85
|
|
|
87
86
|
check_mandatory_property(self.pdb_code, 'pdb_code', self.out_log, self.__class__.__name__)
|
|
88
87
|
|
|
@@ -96,12 +95,14 @@ class Pdb(BiobbObject):
|
|
|
96
95
|
|
|
97
96
|
return 0
|
|
98
97
|
|
|
98
|
+
|
|
99
99
|
def pdb(output_pdb_path: str, properties: dict = None, **kwargs) -> int:
|
|
100
100
|
"""Execute the :class:`Pdb <api.pdb.Pdb>` class and
|
|
101
101
|
execute the :meth:`launch() <api.pdb.Pdb.launch>` method."""
|
|
102
102
|
|
|
103
103
|
return Pdb(output_pdb_path=output_pdb_path,
|
|
104
|
-
|
|
104
|
+
properties=properties, **kwargs).launch()
|
|
105
|
+
|
|
105
106
|
|
|
106
107
|
def main():
|
|
107
108
|
"""Command line execution of this building block. Please check the command line documentation."""
|
|
@@ -117,8 +118,9 @@ def main():
|
|
|
117
118
|
properties = settings.ConfReader(config=config).get_prop_dic()
|
|
118
119
|
|
|
119
120
|
# Specific call of each building block
|
|
120
|
-
pdb(output_pdb_path=args.output_pdb_path,
|
|
121
|
+
pdb(output_pdb_path=args.output_pdb_path,
|
|
121
122
|
properties=properties)
|
|
122
123
|
|
|
124
|
+
|
|
123
125
|
if __name__ == '__main__':
|
|
124
126
|
main()
|
biobb_io/api/pdb_cluster_zip.py
CHANGED
|
@@ -4,10 +4,10 @@
|
|
|
4
4
|
import os
|
|
5
5
|
import argparse
|
|
6
6
|
from biobb_common.generic.biobb_object import BiobbObject
|
|
7
|
-
from biobb_common.configuration import
|
|
7
|
+
from biobb_common.configuration import settings
|
|
8
8
|
from biobb_common.tools import file_utils as fu
|
|
9
9
|
from biobb_common.tools.file_utils import launchlogger
|
|
10
|
-
from biobb_io.api.common import
|
|
10
|
+
from biobb_io.api.common import check_mandatory_property, check_output_path, get_cluster_pdb_codes, download_pdb, write_pdb
|
|
11
11
|
|
|
12
12
|
|
|
13
13
|
class PdbClusterZip(BiobbObject):
|
|
@@ -30,13 +30,13 @@ class PdbClusterZip(BiobbObject):
|
|
|
30
30
|
This is a use example of how to use the building block from Python::
|
|
31
31
|
|
|
32
32
|
from biobb_io.api.pdb_cluster_zip import pdb_cluster_zip
|
|
33
|
-
prop = {
|
|
34
|
-
'pdb_code': '2VGB',
|
|
35
|
-
'filter': ['ATOM', 'MODEL', 'ENDMDL'],
|
|
36
|
-
'cluster': 90,
|
|
37
|
-
'api_id': 'pdbe'
|
|
33
|
+
prop = {
|
|
34
|
+
'pdb_code': '2VGB',
|
|
35
|
+
'filter': ['ATOM', 'MODEL', 'ENDMDL'],
|
|
36
|
+
'cluster': 90,
|
|
37
|
+
'api_id': 'pdbe'
|
|
38
38
|
}
|
|
39
|
-
pdb_cluster_zip(output_pdb_zip_path='/path/to/newStructures.zip',
|
|
39
|
+
pdb_cluster_zip(output_pdb_zip_path='/path/to/newStructures.zip',
|
|
40
40
|
properties=prop)
|
|
41
41
|
|
|
42
42
|
Info:
|
|
@@ -49,8 +49,8 @@ class PdbClusterZip(BiobbObject):
|
|
|
49
49
|
|
|
50
50
|
"""
|
|
51
51
|
|
|
52
|
-
def __init__(self, output_pdb_zip_path,
|
|
53
|
-
|
|
52
|
+
def __init__(self, output_pdb_zip_path,
|
|
53
|
+
properties=None, **kwargs) -> None:
|
|
54
54
|
properties = properties or {}
|
|
55
55
|
|
|
56
56
|
# Call parent class constructor
|
|
@@ -58,8 +58,8 @@ class PdbClusterZip(BiobbObject):
|
|
|
58
58
|
self.locals_var_dict = locals().copy()
|
|
59
59
|
|
|
60
60
|
# Input/Output files
|
|
61
|
-
self.io_dict = {
|
|
62
|
-
"out": {
|
|
61
|
+
self.io_dict = {
|
|
62
|
+
"out": {"output_pdb_zip_path": output_pdb_zip_path}
|
|
63
63
|
}
|
|
64
64
|
|
|
65
65
|
# Properties specific for BB
|
|
@@ -80,20 +80,20 @@ class PdbClusterZip(BiobbObject):
|
|
|
80
80
|
@launchlogger
|
|
81
81
|
def launch(self) -> int:
|
|
82
82
|
"""Execute the :class:`PdbClusterZip <api.pdb_cluster_zip.PdbClusterZip>` api.pdb_cluster_zip.PdbClusterZip object."""
|
|
83
|
-
|
|
83
|
+
|
|
84
84
|
# check input/output paths and parameters
|
|
85
85
|
self.check_data_params(self.out_log, self.err_log)
|
|
86
86
|
|
|
87
87
|
# Setup Biobb
|
|
88
|
-
if self.check_restart():
|
|
89
|
-
|
|
88
|
+
if self.check_restart():
|
|
89
|
+
return 0
|
|
90
90
|
|
|
91
91
|
check_mandatory_property(self.pdb_code, 'pdb_code', self.out_log, self.__class__.__name__)
|
|
92
92
|
|
|
93
93
|
self.pdb_code = self.pdb_code.strip().lower()
|
|
94
94
|
|
|
95
95
|
file_list = []
|
|
96
|
-
#Downloading PDB_files
|
|
96
|
+
# Downloading PDB_files
|
|
97
97
|
pdb_code_list = get_cluster_pdb_codes(pdb_code=self.pdb_code, cluster=self.cluster, out_log=self.out_log, global_log=self.global_log)
|
|
98
98
|
unique_dir = fu.create_unique_dir()
|
|
99
99
|
for pdb_code in pdb_code_list:
|
|
@@ -102,7 +102,7 @@ class PdbClusterZip(BiobbObject):
|
|
|
102
102
|
write_pdb(pdb_string, pdb_file, self.filter, self.out_log, self.global_log)
|
|
103
103
|
file_list.append(os.path.abspath(pdb_file))
|
|
104
104
|
|
|
105
|
-
#Zipping files
|
|
105
|
+
# Zipping files
|
|
106
106
|
fu.log("Zipping the pdb files to: %s" % self.output_pdb_zip_path)
|
|
107
107
|
fu.zip_list(self.output_pdb_zip_path, file_list, out_log=self.out_log)
|
|
108
108
|
|
|
@@ -116,29 +116,32 @@ class PdbClusterZip(BiobbObject):
|
|
|
116
116
|
|
|
117
117
|
return 0
|
|
118
118
|
|
|
119
|
+
|
|
119
120
|
def pdb_cluster_zip(output_pdb_zip_path: str, properties: dict = None, **kwargs) -> int:
|
|
120
121
|
"""Execute the :class:`PdbClusterZip <api.pdb_cluster_zip.PdbClusterZip>` class and
|
|
121
122
|
execute the :meth:`launch() <api.pdb_cluster_zip.PdbClusterZip.launch>` method."""
|
|
122
123
|
|
|
123
124
|
return PdbClusterZip(output_pdb_zip_path=output_pdb_zip_path,
|
|
124
|
-
|
|
125
|
+
properties=properties, **kwargs).launch()
|
|
126
|
+
|
|
125
127
|
|
|
126
128
|
def main():
|
|
127
129
|
"""Command line execution of this building block. Please check the command line documentation."""
|
|
128
130
|
parser = argparse.ArgumentParser(description="Wrapper for the Protein Data Bank in Europe (https://www.ebi.ac.uk/pdbe/), the Protein Data Bank (https://www.rcsb.org/) and the MMB PDB mirror (http://mmb.irbbarcelona.org/api/) for downloading a PDB cluster.", formatter_class=lambda prog: argparse.RawTextHelpFormatter(prog, width=99999))
|
|
129
131
|
parser.add_argument('-c', '--config', required=False, help="This file can be a YAML file, JSON file or JSON string")
|
|
130
132
|
|
|
131
|
-
#Specific args of each building block
|
|
133
|
+
# Specific args of each building block
|
|
132
134
|
required_args = parser.add_argument_group('required arguments')
|
|
133
|
-
required_args.add_argument('-o','--output_pdb_zip_path', required=True, help="Path to the ZIP or PDB file containing the output PDB files. Accepted formats: pdb, zip.")
|
|
135
|
+
required_args.add_argument('-o', '--output_pdb_zip_path', required=True, help="Path to the ZIP or PDB file containing the output PDB files. Accepted formats: pdb, zip.")
|
|
134
136
|
|
|
135
137
|
args = parser.parse_args()
|
|
136
138
|
config = args.config if args.config else None
|
|
137
139
|
properties = settings.ConfReader(config=config).get_prop_dic()
|
|
138
140
|
|
|
139
|
-
#Specific call of each building block
|
|
140
|
-
pdb_cluster_zip(output_pdb_zip_path=args.output_pdb_zip_path,
|
|
141
|
-
|
|
141
|
+
# Specific call of each building block
|
|
142
|
+
pdb_cluster_zip(output_pdb_zip_path=args.output_pdb_zip_path,
|
|
143
|
+
properties=properties)
|
|
144
|
+
|
|
142
145
|
|
|
143
146
|
if __name__ == '__main__':
|
|
144
147
|
main()
|
biobb_io/api/pdb_variants.py
CHANGED
|
@@ -5,10 +5,10 @@ import re
|
|
|
5
5
|
import argparse
|
|
6
6
|
import requests
|
|
7
7
|
from biobb_common.generic.biobb_object import BiobbObject
|
|
8
|
-
from biobb_common.configuration import
|
|
8
|
+
from biobb_common.configuration import settings
|
|
9
9
|
from biobb_common.tools import file_utils as fu
|
|
10
10
|
from biobb_common.tools.file_utils import launchlogger
|
|
11
|
-
from biobb_io.api.common import
|
|
11
|
+
from biobb_io.api.common import check_mandatory_property, check_output_path, get_uniprot, get_variants
|
|
12
12
|
|
|
13
13
|
|
|
14
14
|
class PdbVariants(BiobbObject):
|
|
@@ -28,10 +28,10 @@ class PdbVariants(BiobbObject):
|
|
|
28
28
|
This is a use example of how to use the PdbVariants module from Python
|
|
29
29
|
|
|
30
30
|
from biobb_io.api.pdb_variants import pdb_variants
|
|
31
|
-
prop = {
|
|
32
|
-
'pdb_code': '2VGB'
|
|
31
|
+
prop = {
|
|
32
|
+
'pdb_code': '2VGB'
|
|
33
33
|
}
|
|
34
|
-
pdb_variants(output_mutations_list_txt='/path/to/newMutationsList.txt',
|
|
34
|
+
pdb_variants(output_mutations_list_txt='/path/to/newMutationsList.txt',
|
|
35
35
|
properties=prop)
|
|
36
36
|
|
|
37
37
|
Info:
|
|
@@ -44,8 +44,8 @@ class PdbVariants(BiobbObject):
|
|
|
44
44
|
|
|
45
45
|
"""
|
|
46
46
|
|
|
47
|
-
def __init__(self, output_mutations_list_txt,
|
|
48
|
-
|
|
47
|
+
def __init__(self, output_mutations_list_txt,
|
|
48
|
+
properties=None, **kwargs) -> None:
|
|
49
49
|
properties = properties or {}
|
|
50
50
|
|
|
51
51
|
# Call parent class constructor
|
|
@@ -53,8 +53,8 @@ class PdbVariants(BiobbObject):
|
|
|
53
53
|
self.locals_var_dict = locals().copy()
|
|
54
54
|
|
|
55
55
|
# Input/Output files
|
|
56
|
-
self.io_dict = {
|
|
57
|
-
"out": {
|
|
56
|
+
self.io_dict = {
|
|
57
|
+
"out": {"output_mutations_list_txt": output_mutations_list_txt}
|
|
58
58
|
}
|
|
59
59
|
|
|
60
60
|
# Properties specific for BB
|
|
@@ -72,13 +72,13 @@ class PdbVariants(BiobbObject):
|
|
|
72
72
|
@launchlogger
|
|
73
73
|
def launch(self) -> int:
|
|
74
74
|
"""Execute the :class:`PdbVariants <api.pdb_variants.PdbVariants>` api.pdb_variants.PdbVariants object."""
|
|
75
|
-
|
|
75
|
+
|
|
76
76
|
# check input/output paths and parameters
|
|
77
77
|
self.check_data_params(self.out_log, self.err_log)
|
|
78
78
|
|
|
79
79
|
# Setup Biobb
|
|
80
|
-
if self.check_restart():
|
|
81
|
-
|
|
80
|
+
if self.check_restart():
|
|
81
|
+
return 0
|
|
82
82
|
|
|
83
83
|
check_mandatory_property(self.pdb_code, 'pdb_code', self.out_log, self.__class__.__name__)
|
|
84
84
|
|
|
@@ -117,19 +117,21 @@ class PdbVariants(BiobbObject):
|
|
|
117
117
|
|
|
118
118
|
return 0
|
|
119
119
|
|
|
120
|
+
|
|
120
121
|
def pdb_variants(output_mutations_list_txt: str, properties: dict = None, **kwargs) -> int:
|
|
121
122
|
"""Execute the :class:`PdbVariants <api.pdb_variants.PdbVariants>` class and
|
|
122
123
|
execute the :meth:`launch() <api.pdb_variants.PdbVariants.launch>` method."""
|
|
123
124
|
|
|
124
125
|
return PdbVariants(output_mutations_list_txt=output_mutations_list_txt,
|
|
125
|
-
|
|
126
|
+
properties=properties, **kwargs).launch()
|
|
127
|
+
|
|
126
128
|
|
|
127
129
|
def main():
|
|
128
130
|
"""Command line execution of this building block. Please check the command line documentation."""
|
|
129
131
|
parser = argparse.ArgumentParser(description="Wrapper for the UNIPROT (http://www.uniprot.org/) mirror of the MMB group REST API (http://mmb.irbbarcelona.org/api/) for creating a list of all the variants mapped to a PDB code from the corresponding UNIPROT entries.", formatter_class=lambda prog: argparse.RawTextHelpFormatter(prog, width=99999))
|
|
130
132
|
parser.add_argument('-c', '--config', required=False, help="This file can be a YAML file, JSON file or JSON string")
|
|
131
133
|
|
|
132
|
-
#Specific args of each building block
|
|
134
|
+
# Specific args of each building block
|
|
133
135
|
required_args = parser.add_argument_group('required arguments')
|
|
134
136
|
required_args.add_argument('-o', '--output_mutations_list_txt', required=True, help="Path to the TXT file containing an ASCII comma separated values of the mutations. Accepted formats: txt.")
|
|
135
137
|
|
|
@@ -137,9 +139,10 @@ def main():
|
|
|
137
139
|
config = args.config if args.config else None
|
|
138
140
|
properties = settings.ConfReader(config=config).get_prop_dic()
|
|
139
141
|
|
|
140
|
-
#Specific call of each building block
|
|
141
|
-
pdb_variants(output_mutations_list_txt=args.output_mutations_list_txt,
|
|
142
|
-
|
|
142
|
+
# Specific call of each building block
|
|
143
|
+
pdb_variants(output_mutations_list_txt=args.output_mutations_list_txt,
|
|
144
|
+
properties=properties)
|
|
145
|
+
|
|
143
146
|
|
|
144
147
|
if __name__ == '__main__':
|
|
145
148
|
main()
|
biobb_io/api/structure_info.py
CHANGED
|
@@ -3,10 +3,9 @@
|
|
|
3
3
|
"""Module containing the StructureInfo class and the command line interface."""
|
|
4
4
|
import argparse
|
|
5
5
|
from biobb_common.generic.biobb_object import BiobbObject
|
|
6
|
-
from biobb_common.configuration import
|
|
7
|
-
from biobb_common.tools import file_utils as fu
|
|
6
|
+
from biobb_common.configuration import settings
|
|
8
7
|
from biobb_common.tools.file_utils import launchlogger
|
|
9
|
-
from biobb_io.api.common import
|
|
8
|
+
from biobb_io.api.common import check_mandatory_property, check_output_path, download_str_info, write_json
|
|
10
9
|
|
|
11
10
|
|
|
12
11
|
class StructureInfo(BiobbObject):
|
|
@@ -26,10 +25,10 @@ class StructureInfo(BiobbObject):
|
|
|
26
25
|
This is a use example of how to use the building block from Python::
|
|
27
26
|
|
|
28
27
|
from biobb_io.api.structure_info import structure_info
|
|
29
|
-
prop = {
|
|
28
|
+
prop = {
|
|
30
29
|
'pdb_code': '2vgb'
|
|
31
30
|
}
|
|
32
|
-
structure_info(output_json_path='/path/to/newStructure.sdf',
|
|
31
|
+
structure_info(output_json_path='/path/to/newStructure.sdf',
|
|
33
32
|
properties=prop)
|
|
34
33
|
|
|
35
34
|
Info:
|
|
@@ -42,17 +41,17 @@ class StructureInfo(BiobbObject):
|
|
|
42
41
|
|
|
43
42
|
"""
|
|
44
43
|
|
|
45
|
-
def __init__(self, output_json_path,
|
|
46
|
-
|
|
44
|
+
def __init__(self, output_json_path,
|
|
45
|
+
properties=None, **kwargs) -> None:
|
|
47
46
|
properties = properties or {}
|
|
48
47
|
|
|
49
|
-
|
|
48
|
+
# Call parent class constructor
|
|
50
49
|
super().__init__(properties)
|
|
51
50
|
self.locals_var_dict = locals().copy()
|
|
52
51
|
|
|
53
52
|
# Input/Output files
|
|
54
|
-
self.io_dict = {
|
|
55
|
-
"out": {
|
|
53
|
+
self.io_dict = {
|
|
54
|
+
"out": {"output_json_path": output_json_path}
|
|
56
55
|
}
|
|
57
56
|
|
|
58
57
|
# Properties specific for BB
|
|
@@ -70,13 +69,13 @@ class StructureInfo(BiobbObject):
|
|
|
70
69
|
@launchlogger
|
|
71
70
|
def launch(self) -> int:
|
|
72
71
|
"""Execute the :class:`StructureInfo <api.structure_info.StructureInfo>` api.structure_info.StructureInfo object."""
|
|
73
|
-
|
|
72
|
+
|
|
74
73
|
# check input/output paths and parameters
|
|
75
74
|
self.check_data_params(self.out_log, self.err_log)
|
|
76
75
|
|
|
77
76
|
# Setup Biobb
|
|
78
|
-
if self.check_restart():
|
|
79
|
-
|
|
77
|
+
if self.check_restart():
|
|
78
|
+
return 0
|
|
80
79
|
|
|
81
80
|
check_mandatory_property(self.pdb_code, 'pdb_code', self.out_log, self.__class__.__name__)
|
|
82
81
|
|
|
@@ -91,12 +90,14 @@ class StructureInfo(BiobbObject):
|
|
|
91
90
|
|
|
92
91
|
return 0
|
|
93
92
|
|
|
93
|
+
|
|
94
94
|
def structure_info(output_json_path: str, properties: dict = None, **kwargs) -> int:
|
|
95
95
|
"""Execute the :class:`StructureInfo <api.structure_info.StructureInfo>` class and
|
|
96
96
|
execute the :meth:`launch() <api.structure_info.StructureInfo.launch>` method."""
|
|
97
97
|
|
|
98
98
|
return StructureInfo(output_json_path=output_json_path,
|
|
99
|
-
|
|
99
|
+
properties=properties, **kwargs).launch()
|
|
100
|
+
|
|
100
101
|
|
|
101
102
|
def main():
|
|
102
103
|
"""Command line execution of this building block. Please check the command line documentation."""
|
|
@@ -112,8 +113,9 @@ def main():
|
|
|
112
113
|
properties = settings.ConfReader(config=config).get_prop_dic()
|
|
113
114
|
|
|
114
115
|
# Specific call of each building block
|
|
115
|
-
structure_info(output_json_path=args.output_json_path,
|
|
116
|
-
|
|
116
|
+
structure_info(output_json_path=args.output_json_path,
|
|
117
|
+
properties=properties)
|
|
118
|
+
|
|
117
119
|
|
|
118
120
|
if __name__ == '__main__':
|
|
119
121
|
main()
|
|
@@ -1,29 +1,31 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: biobb-io
|
|
3
|
-
Version: 4.
|
|
3
|
+
Version: 4.1.1
|
|
4
4
|
Summary: Biobb_io is the Biobb module collection to fetch data to be consumed by the rest of the Biobb building blocks.
|
|
5
5
|
Home-page: https://github.com/bioexcel/biobb_io
|
|
6
6
|
Author: Biobb developers
|
|
7
7
|
Author-email: pau.andrio@bsc.es
|
|
8
|
-
Project-URL: Documentation, http://
|
|
8
|
+
Project-URL: Documentation, http://biobb-io.readthedocs.io/en/latest/
|
|
9
9
|
Project-URL: Bioexcel, https://bioexcel.eu/
|
|
10
10
|
Keywords: Bioinformatics Workflows BioExcel Compatibility
|
|
11
11
|
Classifier: Development Status :: 3 - Alpha
|
|
12
|
-
Classifier: Programming Language :: Python :: 3.
|
|
12
|
+
Classifier: Programming Language :: Python :: 3.8
|
|
13
|
+
Classifier: Programming Language :: Python :: 3.9
|
|
14
|
+
Classifier: Programming Language :: Python :: 3.10
|
|
13
15
|
Classifier: License :: OSI Approved :: Apache Software License
|
|
14
16
|
Classifier: Operating System :: MacOS :: MacOS X
|
|
15
17
|
Classifier: Operating System :: POSIX
|
|
16
|
-
Requires-Python: >=3.
|
|
18
|
+
Requires-Python: >=3.8
|
|
17
19
|
Description-Content-Type: text/markdown
|
|
18
20
|
License-File: LICENSE
|
|
19
|
-
Requires-Dist: biobb-common
|
|
21
|
+
Requires-Dist: biobb-common ==4.1.0
|
|
20
22
|
|
|
21
23
|
[](https://GitHub.com/bioexcel/biobb_io/tags/)
|
|
22
24
|
[](https://pypi.python.org/pypi/biobb-io/)
|
|
23
25
|
[](https://anaconda.org/bioconda/biobb_io)
|
|
24
26
|
[](https://anaconda.org/bioconda/biobb_io)
|
|
25
27
|
[](https://quay.io/repository/biocontainers/biobb_io?tab=tags)
|
|
26
|
-
[](https://depot.galaxyproject.org/singularity/biobb_io:4.
|
|
28
|
+
[](https://depot.galaxyproject.org/singularity/biobb_io:4.1.1--pyhdfd78af_0)
|
|
27
29
|
|
|
28
30
|
[](https://github.com/bioexcel/biobb_io)
|
|
29
31
|
[](https://pypi.org/project/biobb-io/)
|
|
@@ -42,6 +44,13 @@ Requires-Dist: biobb-common (==4.0.0)
|
|
|
42
44
|
[](https://github.com/bioexcel/biobb_io/commits/master)
|
|
43
45
|
[](https://GitHub.com/bioexcel/biobb_io/issues/)
|
|
44
46
|
|
|
47
|
+
[](https://fair-software.eu)
|
|
48
|
+
[](https://www.bestpractices.dev/projects/8847)
|
|
49
|
+
|
|
50
|
+
[](https://bestpractices.coreinfrastructure.org/projects/8847/badge)
|
|
51
|
+
|
|
52
|
+
[//]: # (The previous line invisible link is for compatibility with the howfairis script https://github.com/fair-software/howfairis-github-action/tree/main wich uses the old bestpractices URL)
|
|
53
|
+
|
|
45
54
|
# biobb_io
|
|
46
55
|
|
|
47
56
|
### Introduction
|
|
@@ -51,10 +60,10 @@ Biobb (BioExcel building blocks) packages are Python building blocks that
|
|
|
51
60
|
create new layer of compatibility and interoperability over popular
|
|
52
61
|
bioinformatics tools.
|
|
53
62
|
The latest documentation of this package can be found in our readthedocs site:
|
|
54
|
-
[latest API documentation](http://
|
|
63
|
+
[latest API documentation](http://biobb-io.readthedocs.io/en/latest/).
|
|
55
64
|
|
|
56
65
|
### Version
|
|
57
|
-
v4.
|
|
66
|
+
v4.1.1 2024.1
|
|
58
67
|
|
|
59
68
|
### Installation
|
|
60
69
|
Using PIP:
|
|
@@ -63,7 +72,7 @@ Using PIP:
|
|
|
63
72
|
|
|
64
73
|
* Installation:
|
|
65
74
|
|
|
66
|
-
pip install "biobb_io==4.
|
|
75
|
+
pip install "biobb_io==4.1.1"
|
|
67
76
|
|
|
68
77
|
* Usage: [Python API documentation](https://biobb-io.readthedocs.io/en/latest/modules.html)
|
|
69
78
|
|
|
@@ -71,7 +80,7 @@ Using ANACONDA:
|
|
|
71
80
|
* Installation:
|
|
72
81
|
|
|
73
82
|
|
|
74
|
-
conda install -c bioconda "biobb_io==4.
|
|
83
|
+
conda install -c bioconda "biobb_io==4.1.1"
|
|
75
84
|
|
|
76
85
|
|
|
77
86
|
* Usage: With conda installation BioBBs can be used with the [Python API documentation](https://biobb-io.readthedocs.io/en/latest/modules.html) and the [Command Line documentation](https://biobb-io.readthedocs.io/en/latest/command_line.html)
|
|
@@ -80,12 +89,12 @@ Using DOCKER:
|
|
|
80
89
|
* Installation:
|
|
81
90
|
|
|
82
91
|
|
|
83
|
-
docker pull quay.io/biocontainers/biobb_io:4.
|
|
92
|
+
docker pull quay.io/biocontainers/biobb_io:4.1.1--pyhdfd78af_0
|
|
84
93
|
|
|
85
94
|
* Usage:
|
|
86
95
|
|
|
87
96
|
|
|
88
|
-
docker run quay.io/biocontainers/biobb_io:4.
|
|
97
|
+
docker run quay.io/biocontainers/biobb_io:4.1.1--pyhdfd78af_0 <command>
|
|
89
98
|
|
|
90
99
|
|
|
91
100
|
The command list and specification can be found at the [Command Line documentation](https://biobb-io.readthedocs.io/en/latest/command_line.html).
|
|
@@ -97,7 +106,7 @@ Using SINGULARITY:
|
|
|
97
106
|
* Installation:
|
|
98
107
|
|
|
99
108
|
|
|
100
|
-
singularity pull --name biobb_io.sif https://depot.galaxyproject.org/singularity/biobb_io:4.
|
|
109
|
+
singularity pull --name biobb_io.sif https://depot.galaxyproject.org/singularity/biobb_io:4.1.1--pyhdfd78af_0
|
|
101
110
|
|
|
102
111
|
|
|
103
112
|
* Usage:
|
|
@@ -112,8 +121,8 @@ The command list and specification can be found at the [Command Line documentati
|
|
|
112
121
|
### Copyright & Licensing
|
|
113
122
|
This software has been developed in the [MMB group](http://mmb.irbbarcelona.org) at the [BSC](http://www.bsc.es/) & [IRB](https://www.irbbarcelona.org/) for the [European BioExcel](http://bioexcel.eu/), funded by the European Commission (EU H2020 [823830](http://cordis.europa.eu/projects/823830), EU H2020 [675728](http://cordis.europa.eu/projects/675728)).
|
|
114
123
|
|
|
115
|
-
* (c) 2015-
|
|
116
|
-
* (c) 2015-
|
|
124
|
+
* (c) 2015-2024 [Barcelona Supercomputing Center](https://www.bsc.es/)
|
|
125
|
+
* (c) 2015-2024 [Institute for Research in Biomedicine](https://www.irbbarcelona.org/)
|
|
117
126
|
|
|
118
127
|
Licensed under the
|
|
119
128
|
[Apache License 2.0](https://www.apache.org/licenses/LICENSE-2.0), see the file LICENSE for details.
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
biobb_io/__init__.py,sha256=YnMm0jECNA47bXcB-AlNLM-l2fiyr6W7UGjVK7c2440,58
|
|
2
|
+
biobb_io/api/__init__.py,sha256=5jF02xLDXfTBDU2Pie2NTOwoB71lEv-Dikt1WK9s72Y,243
|
|
3
|
+
biobb_io/api/alphafold.py,sha256=qSnJHUjbgd6p0tTszbl4fNPLKjOOGrrV4-KxCWoS8CE,5082
|
|
4
|
+
biobb_io/api/api_binding_site.py,sha256=wOT2S6FspS7hVh8e8t4tfwI6vcEDxU-lhbWyUKOwQxY,5527
|
|
5
|
+
biobb_io/api/canonical_fasta.py,sha256=rMaomcSY91b3BlwyphQp6kFNpDhKcc4EF81mLny59WM,5474
|
|
6
|
+
biobb_io/api/common.py,sha256=7tcV25MpeUaeC-4Ll07YXTVI3_RukmQ4qFUJN2Qt3Xc,13075
|
|
7
|
+
biobb_io/api/drugbank.py,sha256=adxIVX7BH734zoEv_Y9OYKKzrPWatniXP7Xhk8vMGk0,4942
|
|
8
|
+
biobb_io/api/ideal_sdf.py,sha256=KmoNT9_J4Ilubn0iejOgcs-ST6d0DsCeNeg8z8ca94s,5282
|
|
9
|
+
biobb_io/api/ligand.py,sha256=HTO9bCxPQ3bhwBKzRR1eDxh1SrjRqIUIrLIYl8pLgVI,5332
|
|
10
|
+
biobb_io/api/memprotmd_sim.py,sha256=3fsUCsmetD2gj0NQQ6tMXe5UOQFDlgf_BmjksfnPRLc,4856
|
|
11
|
+
biobb_io/api/memprotmd_sim_list.py,sha256=vecN645pMVLjM7WhHjcJqadzbXWHrA37tKsORclkLfo,4821
|
|
12
|
+
biobb_io/api/memprotmd_sim_search.py,sha256=zWv5ubqcJ765CCUVUFro48XPepzfS5iKR9qIJdSaJfw,7179
|
|
13
|
+
biobb_io/api/mmcif.py,sha256=XnCrYB94r6TtR4K5kPQiNhpdliWyU_rQunCPXbfxFJI,5366
|
|
14
|
+
biobb_io/api/pdb.py,sha256=9qAhep1m-xy50n04EiQxgJn01WHJBlKazLyp06keroY,5674
|
|
15
|
+
biobb_io/api/pdb_cluster_zip.py,sha256=gV3QubG9Vqz9TxunLPTB5TwFGHgaKzMNa8kkPqs6G4c,7345
|
|
16
|
+
biobb_io/api/pdb_variants.py,sha256=kmV_BvXFNTY-REFgZJj2vXmbOjv9RvbrzPXvJb7WJSc,6948
|
|
17
|
+
biobb_io/api/structure_info.py,sha256=_hPSOfBhQZ1cCA1LovitsI4wVMw_lskXHhcsyZTW3V8,5190
|
|
18
|
+
biobb_io/test/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
19
|
+
biobb_io-4.1.1.dist-info/LICENSE,sha256=z8d0m5b2O9McPEK1xHG_dWgUBT6EfBDz6wA0F7xSPTA,11358
|
|
20
|
+
biobb_io-4.1.1.dist-info/METADATA,sha256=bAUWN7WcPlq8sJFOYTcXHSdzwri0bBKbNFtJ7qoI77g,6761
|
|
21
|
+
biobb_io-4.1.1.dist-info/WHEEL,sha256=yQN5g4mg4AybRjkgi-9yy4iQEFibGQmlz78Pik5Or-A,92
|
|
22
|
+
biobb_io-4.1.1.dist-info/entry_points.txt,sha256=oksijOyG3dbONd1oOcNd5VDcGaHufkIk11ubPka8fJg,652
|
|
23
|
+
biobb_io-4.1.1.dist-info/top_level.txt,sha256=1VPldlX2AnFaqODGFJK10WN8AOQuulpX88bLSaQdoS8,9
|
|
24
|
+
biobb_io-4.1.1.dist-info/RECORD,,
|