Skip to content

Commit 7d96f0d

Browse files
authored
Merge pull request #36 from xchem/uploader
Adds data uploader module
2 parents f2bb6f2 + 451ec0e commit 7d96f0d

File tree

12 files changed

+346
-108
lines changed

12 files changed

+346
-108
lines changed

.gitignore

+8
Original file line numberDiff line numberDiff line change
@@ -9,5 +9,13 @@ venv/
99
xchemalign/xchem_align.egg-info/
1010
xchemalign/_version.py
1111
test-data/outputs/upload_*
12+
test-data/outputs/upload-v2/upload_*
13+
test-data/outputs/upload-v2/*.log
14+
test-data/outputs/upload-v2/config.yaml
15+
1216
example-simple
1317
build
18+
19+
*~
20+
\#*#
21+
\#*

pyproject.toml

+4-1
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,10 @@ dependencies = [
2222
'GitPython == 3.1.41',
2323
'ligand_neighbourhood_alignment@git+https://github.com/xchem/ligand_neighbourhood_alignment',
2424
'pytest',
25-
'pytest-order'
25+
'pytest-order',
26+
'tqdm',
27+
'requests',
28+
'requests-toolbelt'
2629
] # Add project dependencies here, e.g. ["click", "numpy"]
2730
dynamic = ["version"]
2831
license.file = "LICENSE"

scripts/align.py

+4-15
Original file line numberDiff line numberDiff line change
@@ -11,28 +11,17 @@
1111
def main():
1212
parser = argparse.ArgumentParser(description="aligner")
1313

14-
parser.add_argument("-d", "--version-dir", required=True, help="Path to version dir")
15-
parser.add_argument(
16-
"-m", "--metadata_file", default=Constants.METADATA_XTAL_FILENAME.format(""), help="Metadata YAML file"
17-
)
18-
parser.add_argument("-a", "--assemblies", help="Assemblies YAML file")
14+
parser.add_argument("-d", "--dir", help="Working directory")
1915

20-
parser.add_argument("-l", "--log-file", help="File to write logs to")
2116
parser.add_argument("--log-level", type=int, default=0, help="Logging level")
2217
parser.add_argument("--validate", action="store_true", help="Only perform validation")
2318

2419
args = parser.parse_args()
2520

26-
if args.log_file:
27-
log = args.log_file
28-
else:
29-
log = str(Path(args.version_dir).parent / 'aligner.log')
30-
print("Using {} for log file".format(str(log)))
21+
print("aligner: ", args)
3122

32-
logger = utils.Logger(logfile=log, level=args.log_level)
33-
logger.info("aligner: ", args)
34-
35-
a = Aligner(args.version_dir, args.metadata_file, args.assemblies, logger=logger)
23+
a = Aligner(args.dir, log_level=args.log_level)
24+
logger = a.logger
3625
num_errors, num_warnings = a.validate()
3726

3827
if not args.validate:

scripts/collate.py

+4-4
Original file line numberDiff line numberDiff line change
@@ -8,16 +8,16 @@
88
def main():
99
parser = argparse.ArgumentParser(description="collator")
1010

11-
parser.add_argument("-c", "--config-file", default="config.yaml", help="Configuration file")
12-
parser.add_argument("-l", "--log-file", help="File to write logs to")
11+
parser.add_argument("-d", "--dir", help="Working directory")
1312
parser.add_argument("--log-level", type=int, default=0, help="Logging level")
1413
parser.add_argument("-v", "--validate", action="store_true", help="Only perform validation")
1514

1615
args = parser.parse_args()
1716

18-
c = Collator(args.config_file, log_file=args.log_file, log_level=args.log_level)
17+
print("collator: ", str(args))
18+
19+
c = Collator(args.dir, log_level=args.log_level)
1920
logger = c.logger
20-
logger.info("collator: ", str(args))
2121

2222
meta = c.validate()
2323

src/xchemalign/aligner.py

+10-13
Original file line numberDiff line numberDiff line change
@@ -194,15 +194,16 @@ def get_datasets_from_crystals(
194194

195195

196196
class Aligner:
197-
def __init__(self, dir, logger=None):
197+
def __init__(self, dir, log_file=None, log_level=0):
198198
self.num_alignments = 0
199199
self.errors = []
200200
self.warnings = []
201-
if logger:
202-
self.logger = logger
203-
else:
204-
self.logger = utils.Logger()
201+
205202
self._find_version_dir(dir) # sets self.working_dir and self.version_dir
203+
if not log_file:
204+
log_file = self.working_dir / 'upload-current' / 'aligner.log'
205+
self.logger = utils.Logger(logfile=log_file, level=log_level)
206+
self.logger.info("Using", self.version_dir, "as current version dir")
206207
self.base_dir = self.version_dir.parent # e.g. path/to
207208
self.aligned_dir = (
208209
self.version_dir / Constants.META_ALIGNED_FILES
@@ -246,8 +247,6 @@ def _find_version_dir(self, dir):
246247
else:
247248
break
248249

249-
self.logger.info("Using", version_dir, "as current version dir")
250-
251250
def _log_error(self, msg):
252251
self.logger.error(msg)
253252
self.errors.append(msg)
@@ -934,13 +933,11 @@ def main():
934933
else:
935934
log = 'aligner.log'
936935

937-
logger = utils.Logger(logfile=log, level=args.log_level)
938-
logger.info("aligner: ", args)
939-
logger.info("Using {} for log file".format(str(log)))
940-
utils.LOG = logger
941-
942936
try:
943-
a = Aligner(args.dir, logger=logger)
937+
a = Aligner(args.dir, log_file=log, log_level=args.log_level)
938+
logger = a.logger
939+
utils.LOG = logger
940+
944941
num_errors, num_warnings = a.validate()
945942

946943
if not args.validate:

src/xchemalign/collator.py

+1-2
Original file line numberDiff line numberDiff line change
@@ -1385,7 +1385,6 @@ def main():
13851385
parser = argparse.ArgumentParser(description="collator")
13861386

13871387
parser.add_argument("-d", "--dir", help="Working directory")
1388-
parser.add_argument("-l", "--log-file", help="File to write logs to")
13891388
parser.add_argument("--log-level", type=int, default=0, help="Logging level")
13901389
parser.add_argument("-v", "--validate", action="store_true", help="Only perform validation")
13911390
parser.add_argument("--no-git-info", action="store_false", help="Don't add GIT info to metadata")
@@ -1412,7 +1411,7 @@ def main():
14121411

14131412
logger = None
14141413
try:
1415-
c = Collator(working_dir, log_file=args.log_file, log_level=args.log_level, include_git_info=args.no_git_info)
1414+
c = Collator(working_dir, log_level=args.log_level, include_git_info=args.no_git_info)
14161415

14171416
logger = c.logger
14181417
logger.info("collator: ", str(args))

0 commit comments

Comments
 (0)