Skip to content

Commit 75e0569

Browse files
committed
[estimate] add --multi option; default false
1 parent 1a7be5d commit 75e0569

File tree

3 files changed

+6
-7
lines changed

3 files changed

+6
-7
lines changed

smcpp/analysis.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -418,7 +418,7 @@ def __init__(self, files, args):
418418
self._init_inference_manager(args.polarization_error)
419419
self._init_optimizer(args.outdir,
420420
args.algorithm, args.xtol, args.ftol,
421-
learn_rho=args.r is None, single=False)
421+
learn_rho=args.r is None, single=not args.multi)
422422

423423

424424
def _init_parameters(self, mu, r):
@@ -527,7 +527,7 @@ def __init__(self, files, args):
527527
self._perform_thinning(args.thinning)
528528
# Further initialization
529529
self._init_inference_manager(args.polarization_error)
530-
self._init_optimizer(args.outdir, args.algorithm, args.xtol, args.ftol, True)
530+
self._init_optimizer(args.outdir, args.algorithm, args.xtol, args.ftol, single=True)
531531
self._niter = 1
532532

533533
def _validate_data(self):

smcpp/commands/command.py

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -58,15 +58,14 @@ def add_common_estimation_args(parser):
5858
"from mean heterozygosity",
5959
action="store_true", default=False)
6060
optimizer = parser.add_argument_group("Optimization parameters")
61-
optimizer.add_argument(
62-
"--no-initialize", action="store_true", default=False, help=argparse.SUPPRESS)
61+
optimizer.add_argument("--no-initialize", action="store_true", default=False, help=argparse.SUPPRESS)
6362
optimizer.add_argument('--em-iterations', type=int,
6463
help="number of EM steps to perform", default=20)
6564
optimizer.add_argument('--algorithm',
6665
choices=["BFGS", "L-BFGS-B", "TNC", "AdaMax", "Adam"],
6766
default="L-BFGS-B", help=argparse.SUPPRESS)
68-
optimizer.add_argument('--blocks', type=int,
69-
help="number of coordinate ascent blocks. default: min(4, K)")
67+
optimizer.add_argument('--multi', default=False, action="store_true",
68+
help="update multiple blocks of coordinates at once")
7069
optimizer.add_argument("--ftol", type=float,
7170
default=smcpp.defaults.ftol,
7271
help="stopping criterion for relative improvement in loglik "

test/integration/test.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ set -e
44
$SMC vcf2smc -v example/example.vcf.gz /tmp/example.1.smc.gz 1 msp1:msp_0,msp_1,msp_2
55
$SMC vcf2smc -d msp_0 msp_0 example/example.vcf.gz /tmp/example.2.smc.gz 1 msp2:msp_0,msp_3,msp_4
66
$SMC vcf2smc -d msp_1 msp_1 example/example.vcf.gz /tmp/example.12.smc.gz 1 msp1:msp_1,msp_2 msp2:msp_3,msp_4,msp_0
7-
$SMC estimate -o /tmp/out/1 --unfold --knots 5 --em-iterations 1 1.25e-8 /tmp/example.1.smc.gz
7+
$SMC estimate -o /tmp/out/1 --unfold --knots 5 --multi --em-iterations 1 1.25e-8 /tmp/example.1.smc.gz
88
$SMC estimate -p 0.01 -r 1e-8 -o /tmp/out/2 --knots 5 --em-iterations 1 1.25e-8 /tmp/example.2.smc.gz
99
$SMC split -o /tmp/out/split --em-iterations 1 \
1010
/tmp/out/1/model.final.json \

0 commit comments

Comments
 (0)