bella-companion 0.0.28__tar.gz → 0.0.30__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.

Potentially problematic release.


This version of bella-companion might be problematic. Click here for more details.

Files changed (109) hide show
  1. {bella_companion-0.0.28 → bella_companion-0.0.30}/PKG-INFO +1 -1
  2. bella_companion-0.0.30/bella_companion/eucovid/beast_configs/GLM.xml +170 -0
  3. bella_companion-0.0.30/bella_companion/eucovid/beast_configs/MLP.xml +170 -0
  4. {bella_companion-0.0.28 → bella_companion-0.0.30}/bella_companion/eucovid/run_beast.py +11 -17
  5. {bella_companion-0.0.28 → bella_companion-0.0.30}/bella_companion/platyrrhine/beast_config.xml +2 -2
  6. {bella_companion-0.0.28 → bella_companion-0.0.30}/bella_companion/platyrrhine/run_beast.py +4 -7
  7. {bella_companion-0.0.28 → bella_companion-0.0.30}/bella_companion/simulations/beast_configs/epi-multitype/MLP.xml +1 -1
  8. {bella_companion-0.0.28 → bella_companion-0.0.30}/bella_companion/simulations/beast_configs/epi-skyline/MLP.xml +1 -1
  9. {bella_companion-0.0.28 → bella_companion-0.0.30}/bella_companion/simulations/beast_configs/fbd-2traits/MLP.xml +2 -2
  10. {bella_companion-0.0.28 → bella_companion-0.0.30}/bella_companion/simulations/beast_configs/fbd-no-traits/MLP.xml +2 -2
  11. {bella_companion-0.0.28 → bella_companion-0.0.30}/pyproject.toml +1 -1
  12. bella_companion-0.0.28/bella_companion/eucovid/beast_configs/GLM.xml +0 -450
  13. bella_companion-0.0.28/bella_companion/eucovid/beast_configs/MLP.xml +0 -350
  14. {bella_companion-0.0.28 → bella_companion-0.0.30}/bella_companion/__init__.py +0 -0
  15. {bella_companion-0.0.28 → bella_companion-0.0.30}/bella_companion/cli.py +0 -0
  16. {bella_companion-0.0.28 → bella_companion-0.0.30}/bella_companion/eucovid/__init__.py +0 -0
  17. {bella_companion-0.0.28 → bella_companion-0.0.30}/bella_companion/eucovid/beast_configs/Nonparametric.xml +0 -0
  18. {bella_companion-0.0.28 → bella_companion-0.0.30}/bella_companion/eucovid/data/case_data.tsv +0 -0
  19. {bella_companion-0.0.28 → bella_companion-0.0.30}/bella_companion/eucovid/data/change_dates.tsv +0 -0
  20. {bella_companion-0.0.28 → bella_companion-0.0.30}/bella_companion/eucovid/data/msa.fasta +0 -0
  21. {bella_companion-0.0.28 → bella_companion-0.0.30}/bella_companion/eucovid/data/osi.tsv +0 -0
  22. {bella_companion-0.0.28 → bella_companion-0.0.30}/bella_companion/eucovid/data/predictors/all/closedborders_7e_nt.tsv +0 -0
  23. {bella_companion-0.0.28 → bella_companion-0.0.30}/bella_companion/eucovid/data/predictors/all/dist_7e_ls.tsv +0 -0
  24. {bella_companion-0.0.28 → bella_companion-0.0.30}/bella_companion/eucovid/data/predictors/all/flight_7e_ls.tsv +0 -0
  25. {bella_companion-0.0.28 → bella_companion-0.0.30}/bella_companion/eucovid/data/predictors/all/flight_pop_x_7e_ls.tsv +0 -0
  26. {bella_companion-0.0.28 → bella_companion-0.0.30}/bella_companion/eucovid/data/predictors/all/osi_x_7e_ls.tsv +0 -0
  27. {bella_companion-0.0.28 → bella_companion-0.0.30}/bella_companion/eucovid/data/predictors/all/osi_y_7e_ls.tsv +0 -0
  28. {bella_companion-0.0.28 → bella_companion-0.0.30}/bella_companion/eucovid/data/predictors/all/pop_x_7e_ls.tsv +0 -0
  29. {bella_companion-0.0.28 → bella_companion-0.0.30}/bella_companion/eucovid/data/predictors/all/pop_y_7e_ls.tsv +0 -0
  30. {bella_companion-0.0.28 → bella_companion-0.0.30}/bella_companion/eucovid/data/predictors/all/sharedborders_7e_nt.tsv +0 -0
  31. {bella_companion-0.0.28 → bella_companion-0.0.30}/bella_companion/eucovid/data/predictors/changetimes_all_7e.tsv +0 -0
  32. {bella_companion-0.0.28 → bella_companion-0.0.30}/bella_companion/eucovid/data/predictors/changetimes_flights_4e.tsv +0 -0
  33. {bella_companion-0.0.28 → bella_companion-0.0.30}/bella_companion/eucovid/data/predictors/flight_pop_x_4e_ls.tsv +0 -0
  34. {bella_companion-0.0.28 → bella_companion-0.0.30}/bella_companion/platyrrhine/__init__.py +0 -0
  35. {bella_companion-0.0.28 → bella_companion-0.0.30}/bella_companion/platyrrhine/data/change_times.csv +0 -0
  36. {bella_companion-0.0.28 → bella_companion-0.0.30}/bella_companion/platyrrhine/data/traits.csv +0 -0
  37. {bella_companion-0.0.28 → bella_companion-0.0.30}/bella_companion/platyrrhine/data/trees.nwk +0 -0
  38. {bella_companion-0.0.28 → bella_companion-0.0.30}/bella_companion/platyrrhine/results.py +0 -0
  39. {bella_companion-0.0.28 → bella_companion-0.0.30}/bella_companion/platyrrhine/summarize_logs.py +0 -0
  40. {bella_companion-0.0.28 → bella_companion-0.0.30}/bella_companion/simulations/__init__.py +0 -0
  41. {bella_companion-0.0.28 → bella_companion-0.0.30}/bella_companion/simulations/__pycache__/__init__.cpython-310.pyc +0 -0
  42. {bella_companion-0.0.28 → bella_companion-0.0.30}/bella_companion/simulations/__pycache__/__init__.cpython-311.pyc +0 -0
  43. {bella_companion-0.0.28 → bella_companion-0.0.30}/bella_companion/simulations/__pycache__/features.cpython-310.pyc +0 -0
  44. {bella_companion-0.0.28 → bella_companion-0.0.30}/bella_companion/simulations/__pycache__/features.cpython-311.pyc +0 -0
  45. {bella_companion-0.0.28 → bella_companion-0.0.30}/bella_companion/simulations/__pycache__/generate_data.cpython-310.pyc +0 -0
  46. {bella_companion-0.0.28 → bella_companion-0.0.30}/bella_companion/simulations/__pycache__/generate_data.cpython-311.pyc +0 -0
  47. {bella_companion-0.0.28 → bella_companion-0.0.30}/bella_companion/simulations/__pycache__/run_beast.cpython-311.pyc +0 -0
  48. {bella_companion-0.0.28 → bella_companion-0.0.30}/bella_companion/simulations/__pycache__/summarize_logs.cpython-311.pyc +0 -0
  49. {bella_companion-0.0.28 → bella_companion-0.0.30}/bella_companion/simulations/beast_configs/epi-multitype/GLM.xml +0 -0
  50. {bella_companion-0.0.28 → bella_companion-0.0.30}/bella_companion/simulations/beast_configs/epi-multitype/Nonparametric.xml +0 -0
  51. {bella_companion-0.0.28 → bella_companion-0.0.30}/bella_companion/simulations/beast_configs/epi-skyline/GLM.xml +0 -0
  52. {bella_companion-0.0.28 → bella_companion-0.0.30}/bella_companion/simulations/beast_configs/epi-skyline/Nonparametric.xml +0 -0
  53. {bella_companion-0.0.28 → bella_companion-0.0.30}/bella_companion/simulations/beast_configs/fbd-2traits/GLM.xml +0 -0
  54. {bella_companion-0.0.28 → bella_companion-0.0.30}/bella_companion/simulations/beast_configs/fbd-2traits/Nonparametric.xml +0 -0
  55. {bella_companion-0.0.28 → bella_companion-0.0.30}/bella_companion/simulations/beast_configs/fbd-no-traits/GLM.xml +0 -0
  56. {bella_companion-0.0.28 → bella_companion-0.0.30}/bella_companion/simulations/beast_configs/fbd-no-traits/Nonparametric.xml +0 -0
  57. {bella_companion-0.0.28 → bella_companion-0.0.30}/bella_companion/simulations/features.py +0 -0
  58. {bella_companion-0.0.28 → bella_companion-0.0.30}/bella_companion/simulations/figures/__init__.py +0 -0
  59. {bella_companion-0.0.28 → bella_companion-0.0.30}/bella_companion/simulations/figures/__pycache__/__init__.cpython-311.pyc +0 -0
  60. {bella_companion-0.0.28 → bella_companion-0.0.30}/bella_companion/simulations/figures/__pycache__/epi_explainations.cpython-311.pyc +0 -0
  61. {bella_companion-0.0.28 → bella_companion-0.0.30}/bella_companion/simulations/figures/__pycache__/epi_predictions.cpython-311.pyc +0 -0
  62. {bella_companion-0.0.28 → bella_companion-0.0.30}/bella_companion/simulations/figures/__pycache__/epi_simulations.cpython-311.pyc +0 -0
  63. {bella_companion-0.0.28 → bella_companion-0.0.30}/bella_companion/simulations/figures/__pycache__/fbd_explainations.cpython-311.pyc +0 -0
  64. {bella_companion-0.0.28 → bella_companion-0.0.30}/bella_companion/simulations/figures/__pycache__/fbd_predictions.cpython-311.pyc +0 -0
  65. {bella_companion-0.0.28 → bella_companion-0.0.30}/bella_companion/simulations/figures/__pycache__/fbd_simulations.cpython-311.pyc +0 -0
  66. {bella_companion-0.0.28 → bella_companion-0.0.30}/bella_companion/simulations/figures/__pycache__/figure1.cpython-311.pyc +0 -0
  67. {bella_companion-0.0.28 → bella_companion-0.0.30}/bella_companion/simulations/figures/__pycache__/plot.cpython-311.pyc +0 -0
  68. {bella_companion-0.0.28 → bella_companion-0.0.30}/bella_companion/simulations/figures/__pycache__/scenarios.cpython-311.pyc +0 -0
  69. {bella_companion-0.0.28 → bella_companion-0.0.30}/bella_companion/simulations/figures/__pycache__/utils.cpython-311.pyc +0 -0
  70. {bella_companion-0.0.28 → bella_companion-0.0.30}/bella_companion/simulations/figures/epi_multitype_results.py +0 -0
  71. {bella_companion-0.0.28 → bella_companion-0.0.30}/bella_companion/simulations/figures/epi_skyline_results.py +0 -0
  72. {bella_companion-0.0.28 → bella_companion-0.0.30}/bella_companion/simulations/figures/explain/__init__.py +0 -0
  73. {bella_companion-0.0.28 → bella_companion-0.0.30}/bella_companion/simulations/figures/explain/pdp.py +0 -0
  74. {bella_companion-0.0.28 → bella_companion-0.0.30}/bella_companion/simulations/figures/explain/shap.py +0 -0
  75. {bella_companion-0.0.28 → bella_companion-0.0.30}/bella_companion/simulations/figures/fbd_2traits_results.py +0 -0
  76. {bella_companion-0.0.28 → bella_companion-0.0.30}/bella_companion/simulations/figures/fbd_no_traits_results.py +0 -0
  77. {bella_companion-0.0.28 → bella_companion-0.0.30}/bella_companion/simulations/figures/scenarios.py +0 -0
  78. {bella_companion-0.0.28 → bella_companion-0.0.30}/bella_companion/simulations/figures/utils.py +0 -0
  79. {bella_companion-0.0.28 → bella_companion-0.0.30}/bella_companion/simulations/generate_data.py +0 -0
  80. {bella_companion-0.0.28 → bella_companion-0.0.30}/bella_companion/simulations/generate_figures.py +0 -0
  81. {bella_companion-0.0.28 → bella_companion-0.0.30}/bella_companion/simulations/metrics.py +0 -0
  82. {bella_companion-0.0.28 → bella_companion-0.0.30}/bella_companion/simulations/run_beast.py +0 -0
  83. {bella_companion-0.0.28 → bella_companion-0.0.30}/bella_companion/simulations/scenarios/__init__.py +0 -0
  84. {bella_companion-0.0.28 → bella_companion-0.0.30}/bella_companion/simulations/scenarios/__pycache__/__init__.cpython-310.pyc +0 -0
  85. {bella_companion-0.0.28 → bella_companion-0.0.30}/bella_companion/simulations/scenarios/__pycache__/__init__.cpython-311.pyc +0 -0
  86. {bella_companion-0.0.28 → bella_companion-0.0.30}/bella_companion/simulations/scenarios/__pycache__/common.cpython-310.pyc +0 -0
  87. {bella_companion-0.0.28 → bella_companion-0.0.30}/bella_companion/simulations/scenarios/__pycache__/common.cpython-311.pyc +0 -0
  88. {bella_companion-0.0.28 → bella_companion-0.0.30}/bella_companion/simulations/scenarios/__pycache__/epi_multitype.cpython-310.pyc +0 -0
  89. {bella_companion-0.0.28 → bella_companion-0.0.30}/bella_companion/simulations/scenarios/__pycache__/epi_multitype.cpython-311.pyc +0 -0
  90. {bella_companion-0.0.28 → bella_companion-0.0.30}/bella_companion/simulations/scenarios/__pycache__/epi_skyline.cpython-310.pyc +0 -0
  91. {bella_companion-0.0.28 → bella_companion-0.0.30}/bella_companion/simulations/scenarios/__pycache__/epi_skyline.cpython-311.pyc +0 -0
  92. {bella_companion-0.0.28 → bella_companion-0.0.30}/bella_companion/simulations/scenarios/__pycache__/fbd_2traits.cpython-310.pyc +0 -0
  93. {bella_companion-0.0.28 → bella_companion-0.0.30}/bella_companion/simulations/scenarios/__pycache__/fbd_2traits.cpython-311.pyc +0 -0
  94. {bella_companion-0.0.28 → bella_companion-0.0.30}/bella_companion/simulations/scenarios/__pycache__/fbd_no_traits.cpython-310.pyc +0 -0
  95. {bella_companion-0.0.28 → bella_companion-0.0.30}/bella_companion/simulations/scenarios/__pycache__/fbd_no_traits.cpython-311.pyc +0 -0
  96. {bella_companion-0.0.28 → bella_companion-0.0.30}/bella_companion/simulations/scenarios/__pycache__/scenario.cpython-310.pyc +0 -0
  97. {bella_companion-0.0.28 → bella_companion-0.0.30}/bella_companion/simulations/scenarios/__pycache__/scenario.cpython-311.pyc +0 -0
  98. {bella_companion-0.0.28 → bella_companion-0.0.30}/bella_companion/simulations/scenarios/__pycache__/utils.cpython-311.pyc +0 -0
  99. {bella_companion-0.0.28 → bella_companion-0.0.30}/bella_companion/simulations/scenarios/common.py +0 -0
  100. {bella_companion-0.0.28 → bella_companion-0.0.30}/bella_companion/simulations/scenarios/epi_multitype.py +0 -0
  101. {bella_companion-0.0.28 → bella_companion-0.0.30}/bella_companion/simulations/scenarios/epi_skyline.py +0 -0
  102. {bella_companion-0.0.28 → bella_companion-0.0.30}/bella_companion/simulations/scenarios/fbd_2traits.py +0 -0
  103. {bella_companion-0.0.28 → bella_companion-0.0.30}/bella_companion/simulations/scenarios/fbd_no_traits.py +0 -0
  104. {bella_companion-0.0.28 → bella_companion-0.0.30}/bella_companion/simulations/scenarios/scenario.py +0 -0
  105. {bella_companion-0.0.28 → bella_companion-0.0.30}/bella_companion/simulations/summarize_logs.py +0 -0
  106. {bella_companion-0.0.28 → bella_companion-0.0.30}/bella_companion/utils/__init__.py +0 -0
  107. {bella_companion-0.0.28 → bella_companion-0.0.30}/bella_companion/utils/beast.py +0 -0
  108. {bella_companion-0.0.28 → bella_companion-0.0.30}/bella_companion/utils/explain.py +0 -0
  109. {bella_companion-0.0.28 → bella_companion-0.0.30}/bella_companion/utils/slurm.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: bella-companion
3
- Version: 0.0.28
3
+ Version: 0.0.30
4
4
  Summary:
5
5
  Author: gabriele-marino
6
6
  Author-email: gabmarino.8601@gmail.com
@@ -0,0 +1,170 @@
1
+ <?xml version="1.0"?>
2
+ <beast
3
+ namespace="
4
+ :beast.base.evolution
5
+ :beast.base.evolution.alignment
6
+ :beast.base.evolution.branchratemodel
7
+ :beast.base.evolution.likelihood
8
+ :beast.base.evolution.operator
9
+ :beast.base.evolution.operator.kernel
10
+ :beast.base.evolution.sitemodel
11
+ :beast.base.evolution.substitutionmodel
12
+ :beast.base.evolution.tree
13
+ :beast.base.evolution.tree.coalescent
14
+ :beast.base.inference
15
+ :beast.base.inference.parameter
16
+ :beast.base.inference.operator.kernel
17
+ :bdmmprime.distribution
18
+ :bdmmprime.mapping
19
+ :bdmmprime.trajectories
20
+ :bdmmprime.parameterization
21
+ :bdmmprime.util
22
+ :bdmmprime.util.operators
23
+ :bdmmprime.util.priors
24
+ :feast.fileio"
25
+ version="2.7"
26
+ >
27
+ <map name="Uniform">beast.base.inference.distribution.Uniform</map>
28
+ <map name="Exponential">beast.base.inference.distribution.Exponential</map>
29
+ <map name="LogNormal">beast.base.inference.distribution.LogNormalDistributionModel</map>
30
+ <map name="Normal">beast.base.inference.distribution.Normal</map>
31
+ <map name="prior">beast.base.inference.distribution.Prior</map>
32
+ <map name="AlignmentFromFasta">feast.fileio.AlignmentFromFasta</map>
33
+ <map name="TaxonSet">beast.base.evolution.alignment.TaxonSet</map>
34
+ <map name="TraitSetFromTaxonSet">feast.fileio.TraitSetFromTaxonSet</map>
35
+ <map name="TypeSet">bdmmprime.parameterization.TypeSet</map>
36
+ <map name="TypeMappedTree">bdmmprime.mapping.TypeMappedTree</map>
37
+
38
+ <AlignmentFromFasta id="alignment" fileName="$(msa_file)"/>
39
+ <TaxonSet id="taxonSet" alignment="@alignment"/>
40
+ <TraitSetFromTaxonSet id="typeTraitSet" traitname="type" delimiter="|" takeGroup="1" taxa="@taxonSet"/>
41
+ <TypeSet id="typeSet" typeTraitSet="@typeTraitSet"/>
42
+ <TraitSetFromTaxonSet id="dateTrait" traitname="date" dateFormat="yyyy-M-dd" delimiter="|" everythingAfterLast="true" taxa="@taxonSet"/>
43
+ <TypeMappedTree id="typeMappedTree" bdmmDistrib="@BDMMPrime" startTypePriorProbs="@startTypePriorProbs" mapOnInit="false" remapOnLog="true" typeLabel="type" typeTraitSet="@typeTraitSet" untypedTree="@tree"/>
44
+
45
+ <run spec="MCMC" chainLength="10000000">
46
+ <state id="state" spec="State">
47
+ <stateNode id="tree" spec="RandomTree" taxa="@alignment" trait="@dateTrait">
48
+ <populationModel spec="ConstantPopulation" popSize="0.1"/>
49
+ </stateNode>
50
+ <stateNode id="Re" spec="RealParameter" value="1.0 1.1 1.2 1.3 1.4 1.01 1.1 1.2 1.3 1.4"/>
51
+ <stateNode id="samplingProportion" spec="RealParameter" value="1.11E-5 1.2E-5 1.3E-5 1.4E-5 1.5E-5 1.1E-5 1.2E-5 1.3E-5 1.4E-5 1.5E-5 0.0 0.0 0.0 0.0 0.0"/>
52
+ <stateNode id="migrationRateW" spec="RealParameter" value="0"/>
53
+ <stateNode id="migrationRateScaler" spec="RealParameter" value="0.1"/>
54
+ <stateNode id="processLength" spec="RealParameter" value="10.0"/>
55
+ <stateNode id="gammaShape" spec="RealParameter" value="1.0"/>
56
+ <stateNode id="kappa" spec="RealParameter" value="2.0"/>
57
+ </state>
58
+
59
+ <distribution id="posterior" spec="CompoundDistribution">
60
+ <distribution id="likelihood" spec="CompoundDistribution" useThreads="true">
61
+ <distribution id="treeLikelihood" spec="ThreadedTreeLikelihood" data="@alignment" tree="@tree">
62
+ <siteModel spec="SiteModel" gammaCategoryCount="4" shape="@gammaShape" mutationRate="1.0">
63
+ <substModel spec="HKY" kappa="@kappa">
64
+ <frequencies spec="Frequencies" data="@alignment"/>
65
+ </substModel>
66
+ </siteModel>
67
+ <branchRateModel spec="StrictClockModel" clock.rate="8.0E-4"/>
68
+ </distribution>
69
+ </distribution>
70
+
71
+ <distribution id="prior" spec="CompoundDistribution">
72
+ <distribution id="BDMMPrime" spec="BirthDeathMigrationDistribution" tree="@tree" conditionOnSurvival="true" typeTraitSet="@typeTraitSet">
73
+ <parameterization id="EpiBDMMPrimeParameterization" spec="EpiParameterization" processLength="@processLength" typeSet="@typeSet">
74
+ <Re id="ReSP" spec="SkylineVectorParameter" skylineValues="@Re" changeTimes="0.123" timesAreAges="true" processLength="@processLength" typeSet="@typeSet"/>
75
+ <samplingProportion id="samplingProportionSP" spec="SkylineVectorParameter" skylineValues="@samplingProportion" changeTimes="0.123 0.205" timesAreAges="true" processLength="@processLength" typeSet="@typeSet"/>
76
+ <becomeUninfectiousRate spec="SkylineVectorParameter" skylineValues="36.5" typeSet="@typeSet"/>
77
+ <migrationRate id="migrationRateSP" spec="SkylineMatrixParameter" timesAreAges="true" processLength="@processLength" typeSet="@typeSet">
78
+ <skylineValues spec="glmprior.util.GLMLogLinear" coefficients="@migrationRateW" scaleFactor="@migrationRateScaler" transform="false">
79
+ <plate var="predictorFile" range="$(predictorFiles)">
80
+ <predictor spec="RealParameterFromXSV" fileName="$(predictorFile)"/>
81
+ </plate>
82
+ <indicators spec="BooleanParameter" value="1"/>
83
+ </skylineValues>
84
+ <changeTimes spec="RealParameterFromXSV" fileName="$(changeTimesFile)"/>
85
+ </migrationRate>
86
+ <removalProb spec="SkylineVectorParameter" skylineValues="1.0" typeSet="@typeSet"/>
87
+ </parameterization>
88
+ <startTypePriorProbs id="startTypePriorProbs" spec="RealParameter" value="1.0 0.0 0.0 0.0 0.0"/>
89
+ </distribution>
90
+
91
+ <prior name="distribution" x="@processLength">
92
+ <LogNormal name="distr" M="-1.0" S="0.2"/>
93
+ </prior>
94
+ <distribution spec="SmartZeroExcludingPrior" x="@Re">
95
+ <LogNormal name="distr" M="0.8" S="0.5"/>
96
+ </distribution>
97
+ <distribution spec="SmartZeroExcludingPrior" x="@samplingProportion" classesToExclude="1.2E-5 1.3E-5 1.4E-5 1.5E-5">
98
+ <Uniform name="distr" lower="0" upper="0.15"/>
99
+ </distribution>
100
+ <distribution spec="SmartZeroExcludingPrior" x="@samplingProportion" classesToExclude="1.1E-5 1.3E-5 1.4E-5 1.5E-5">
101
+ <Uniform name="distr" lower="0" upper="0.093"/>
102
+ </distribution>
103
+ <distribution spec="SmartZeroExcludingPrior" x="@samplingProportion" classesToExclude="1.1E-5 1.2E-5 1.4E-5 1.5E-5">
104
+ <Uniform name="distr" lower="0" upper="0.10"/>
105
+ </distribution>
106
+ <distribution spec="SmartZeroExcludingPrior" x="@samplingProportion" classesToExclude="1.1E-5 1.2E-5 1.3E-5 1.5E-5">
107
+ <Uniform name="distr" lower="0" upper="0.005"/>
108
+ </distribution>
109
+ <distribution spec="SmartZeroExcludingPrior" x="@samplingProportion" classesToExclude="1.1E-5 1.2E-5 1.3E-5 1.4E-5">
110
+ <Uniform name="distr" lower="0" upper="0.057"/>
111
+ </distribution>
112
+ <prior name="distribution" x="@migrationRateW">
113
+ <Normal name="distr" mean="0.0" sigma="1.0"/>
114
+ </prior>
115
+ <prior name="distribution" x="@migrationRateScaler">
116
+ <LogNormal name="distr" M="0.0" S="0.8"/>
117
+ </prior>
118
+ <prior name="distribution" x="@gammaShape">
119
+ <Exponential name="distr" mean="0.5"/>
120
+ </prior>
121
+ <prior id="KappaPrior" name="distribution" x="@kappa">
122
+ <LogNormal name="distr" M="1.0" S="1.25"/>
123
+ </prior>
124
+ </distribution>
125
+ </distribution>
126
+
127
+ <operator spec="BactrianScaleOperator" tree="@tree" rootOnly="true" scaleFactor="0.25" weight="5.0"/>
128
+ <operator spec="BactrianNodeOperator" tree="@tree" weight="30.0"/>
129
+ <operator spec="BactrianSubtreeSlide" tree="@tree" weight="15.0"/>
130
+ <operator spec="Exchange" tree="@tree" weight="15.0"/>
131
+ <operator spec="Exchange" tree="@tree" isNarrow="false" weight="3.0"/>
132
+ <operator spec="WilsonBalding" tree="@tree" weight="3.0"/>
133
+ <operator spec="EpochFlexOperator" tree="@tree" scaleFactor="0.1" weight="2.0"/>
134
+ <operator spec="EpochFlexOperator" tree="@tree" fromOldestTipOnly="false" scaleFactor="0.1" weight="2.0"/>
135
+ <operator spec="TreeStretchOperator" tree="@tree" scaleFactor="0.01" weight="2.0"/>
136
+ <operator spec="BactrianScaleOperator" parameter="@processLength" scaleFactor="0.25" weight="3.0"/>
137
+ <operator spec="SmartScaleOperator" parameter="@Re" scaleFactor="0.25" weight="10.0"/>
138
+ <operator spec="SmartScaleOperator" parameter="@samplingProportion" weight="3.0"/>
139
+ <operator spec="BactrianRandomWalkOperator" parameter="@migrationRateW" weight="5.0" scaleFactor="0.1"/>
140
+ <operator spec="AdaptableVarianceMultivariateNormalOperator" weight="5.0" coefficient="1.0" scaleFactor="0.5" beta="0.05" initial="800" burnin="400" every="1">
141
+ <transformations spec="Transform$NoTransform" f="@migrationRateW"/>
142
+ </operator>
143
+ <operator spec="BactrianScaleOperator" parameter="@gammaShape" weight="1.0"/>
144
+ <operator spec="BactrianScaleOperator" parameter="@kappa" weight="1.0"/>
145
+
146
+ <logger spec="Logger" fileName="MCMC.log" logEvery="1000" model="@posterior" sanitiseHeaders="true" sort="smart">
147
+ <log idref="posterior"/>
148
+ <log idref="likelihood"/>
149
+ <log idref="prior"/>
150
+ <log idref="BDMMPrime"/>
151
+ <log idref="gammaShape"/>
152
+ <log idref="kappa"/>
153
+ <log idref="processLength"/>
154
+ <log idref="ReSP"/>
155
+ <log idref="samplingProportionSP"/>
156
+ <log idref="migrationRateSP"/>
157
+ <log idref="migrationRateW"/>
158
+ <log idref="migrationRateScaler"/>
159
+ </logger>
160
+ <logger spec="Logger" fileName="typedTrees.trees" logEvery="10000" mode="tree">
161
+ <log idref="typeMappedTree"/>
162
+ </logger>
163
+ <logger spec="Logger" fileName="TypedNodeTrees.trees" logEvery="10000" mode="tree">
164
+ <log spec="TypedNodeTreeLogger" typedTree="@typeMappedTree"/>
165
+ </logger>
166
+ <logger spec="Logger" fileName="trajectories.csv" logEvery="10000">
167
+ <log spec="SampledTrajectory" bdmmDistrib="@BDMMPrime" startTypePriorProbs="@startTypePriorProbs" typeMappedTree="@typeMappedTree" useTauLeaping="true"/>
168
+ </logger>
169
+ </run>
170
+ </beast>
@@ -0,0 +1,170 @@
1
+ <?xml version="1.0"?>
2
+ <beast
3
+ namespace="
4
+ :beast.base.evolution
5
+ :beast.base.evolution.alignment
6
+ :beast.base.evolution.branchratemodel
7
+ :beast.base.evolution.likelihood
8
+ :beast.base.evolution.operator
9
+ :beast.base.evolution.operator.kernel
10
+ :beast.base.evolution.sitemodel
11
+ :beast.base.evolution.substitutionmodel
12
+ :beast.base.evolution.tree
13
+ :beast.base.evolution.tree.coalescent
14
+ :beast.base.inference
15
+ :beast.base.inference.parameter
16
+ :beast.base.inference.operator.kernel
17
+ :bdmmprime.distribution
18
+ :bdmmprime.mapping
19
+ :bdmmprime.trajectories
20
+ :bdmmprime.parameterization
21
+ :bdmmprime.util
22
+ :bdmmprime.util.operators
23
+ :bdmmprime.util.priors
24
+ :feast.fileio"
25
+ version="2.7"
26
+ >
27
+ <map name="Uniform">beast.base.inference.distribution.Uniform</map>
28
+ <map name="Exponential">beast.base.inference.distribution.Exponential</map>
29
+ <map name="LogNormal">beast.base.inference.distribution.LogNormalDistributionModel</map>
30
+ <map name="Normal">beast.base.inference.distribution.Normal</map>
31
+ <map name="prior">beast.base.inference.distribution.Prior</map>
32
+ <map name="AlignmentFromFasta">feast.fileio.AlignmentFromFasta</map>
33
+ <map name="TaxonSet">beast.base.evolution.alignment.TaxonSet</map>
34
+ <map name="TraitSetFromTaxonSet">feast.fileio.TraitSetFromTaxonSet</map>
35
+ <map name="TypeSet">bdmmprime.parameterization.TypeSet</map>
36
+ <map name="TypeMappedTree">bdmmprime.mapping.TypeMappedTree</map>
37
+
38
+ <AlignmentFromFasta id="alignment" fileName="$(msa_file)"/>
39
+ <TaxonSet id="taxonSet" alignment="@alignment"/>
40
+ <TraitSetFromTaxonSet id="typeTraitSet" traitname="type" delimiter="|" takeGroup="1" taxa="@taxonSet"/>
41
+ <TypeSet id="typeSet" typeTraitSet="@typeTraitSet"/>
42
+ <TraitSetFromTaxonSet id="dateTrait" traitname="date" dateFormat="yyyy-M-dd" delimiter="|" everythingAfterLast="true" taxa="@taxonSet"/>
43
+ <TypeMappedTree id="typeMappedTree" bdmmDistrib="@BDMMPrime" startTypePriorProbs="@startTypePriorProbs" mapOnInit="false" remapOnLog="true" typeLabel="type" typeTraitSet="@typeTraitSet" untypedTree="@tree"/>
44
+
45
+ <run spec="MCMC" chainLength="10000000">
46
+ <state id="state" spec="State">
47
+ <stateNode id="tree" spec="RandomTree" taxa="@alignment" trait="@dateTrait">
48
+ <populationModel spec="ConstantPopulation" popSize="0.1"/>
49
+ </stateNode>
50
+ <stateNode id="Re" spec="RealParameter" value="1.0 1.1 1.2 1.3 1.4 1.01 1.1 1.2 1.3 1.4"/>
51
+ <stateNode id="samplingProportion" spec="RealParameter" value="1.11E-5 1.2E-5 1.3E-5 1.4E-5 1.5E-5 1.1E-5 1.2E-5 1.3E-5 1.4E-5 1.5E-5 0.0 0.0 0.0 0.0 0.0"/>
52
+ <plate var="n" range="$(layersRange)">
53
+ <stateNode spec="RealParameter" id="migrationRateW$(n)" value="0"/>
54
+ </plate>
55
+ <stateNode id="processLength" spec="RealParameter" value="10.0"/>
56
+ <stateNode id="gammaShape" spec="RealParameter" value="1.0"/>
57
+ <stateNode id="kappa" spec="RealParameter" value="2.0"/>
58
+ </state>
59
+
60
+ <distribution id="posterior" spec="CompoundDistribution">
61
+ <distribution id="likelihood" spec="CompoundDistribution" useThreads="true">
62
+ <distribution id="treeLikelihood" spec="ThreadedTreeLikelihood" data="@alignment" tree="@tree">
63
+ <siteModel spec="SiteModel" gammaCategoryCount="4" shape="@gammaShape" mutationRate="1.0">
64
+ <substModel spec="HKY" kappa="@kappa">
65
+ <frequencies spec="Frequencies" data="@alignment"/>
66
+ </substModel>
67
+ </siteModel>
68
+ <branchRateModel spec="StrictClockModel" clock.rate="8.0E-4"/>
69
+ </distribution>
70
+ </distribution>
71
+
72
+ <distribution id="prior" spec="CompoundDistribution">
73
+ <distribution id="BDMMPrime" spec="BirthDeathMigrationDistribution" tree="@tree" conditionOnSurvival="true" typeTraitSet="@typeTraitSet">
74
+ <parameterization id="EpiBDMMPrimeParameterization" spec="EpiParameterization" processLength="@processLength" typeSet="@typeSet">
75
+ <Re id="ReSP" spec="SkylineVectorParameter" skylineValues="@Re" changeTimes="0.123" timesAreAges="true" processLength="@processLength" typeSet="@typeSet" />
76
+ <samplingProportion id="samplingProportionSP" spec="SkylineVectorParameter" skylineValues="@samplingProportion" changeTimes="0.123 0.205" timesAreAges="true" processLength="@processLength" typeSet="@typeSet"/>
77
+ <becomeUninfectiousRate spec="SkylineVectorParameter" skylineValues="36.5" typeSet="@typeSet"/>
78
+ <migrationRate id="migrationRateSP" spec="SkylineMatrixParameter" timesAreAges="true" processLength="@processLength" typeSet="@typeSet">
79
+ <skylineValues id="migrationRate" spec="bella.BayesMLP" nodes="$(nodes)">
80
+ <plate var="predictorFile" range="$(predictorFiles)">
81
+ <predictor spec="RealParameterFromXSV" fileName="$(predictorFile)"/>
82
+ </plate>
83
+ <plate var="n" range="$(layersRange)">
84
+ <weights idref="migrationRateW$(n)"/>
85
+ </plate>
86
+ </skylineValues>
87
+ <changeTimes spec="RealParameterFromXSV" fileName="$(changeTimesFile)"/>
88
+ </migrationRate>
89
+ <removalProb spec="SkylineVectorParameter" skylineValues="1.0" typeSet="@typeSet"/>
90
+ </parameterization>
91
+ <startTypePriorProbs id="startTypePriorProbs" spec="RealParameter" value="1.0 0.0 0.0 0.0 0.0"/>
92
+ </distribution>
93
+
94
+ <prior name="distribution" x="@processLength">
95
+ <LogNormal name="distr" M="-1.0" S="0.2"/>
96
+ </prior>
97
+ <distribution spec="SmartZeroExcludingPrior" x="@Re">
98
+ <LogNormal name="distr" M="0.8" S="0.5"/>
99
+ </distribution>
100
+ <distribution spec="SmartZeroExcludingPrior" x="@samplingProportion" classesToExclude="1.2E-5 1.3E-5 1.4E-5 1.5E-5">
101
+ <Uniform name="distr" lower="0" upper="0.15"/>
102
+ </distribution>
103
+ <distribution spec="SmartZeroExcludingPrior" x="@samplingProportion" classesToExclude="1.1E-5 1.3E-5 1.4E-5 1.5E-5">
104
+ <Uniform name="distr" lower="0" upper="0.093"/>
105
+ </distribution>
106
+ <distribution spec="SmartZeroExcludingPrior" x="@samplingProportion" classesToExclude="1.1E-5 1.2E-5 1.4E-5 1.5E-5">
107
+ <Uniform name="distr" lower="0" upper="0.10"/>
108
+ </distribution>
109
+ <distribution spec="SmartZeroExcludingPrior" x="@samplingProportion" classesToExclude="1.1E-5 1.2E-5 1.3E-5 1.5E-5">
110
+ <Uniform name="distr" lower="0" upper="0.005"/>
111
+ </distribution>
112
+ <distribution spec="SmartZeroExcludingPrior" x="@samplingProportion" classesToExclude="1.1E-5 1.2E-5 1.3E-5 1.4E-5">
113
+ <Uniform name="distr" lower="0" upper="0.057"/>
114
+ </distribution>
115
+ <plate var="n" range="$(layersRange)">
116
+ <prior name="distribution" x="@migrationRateW$(n)">
117
+ <Normal name="distr" mean="0.0" sigma="1.0"/>
118
+ </prior>
119
+ </plate>
120
+ <prior name="distribution" x="@gammaShape">
121
+ <Exponential name="distr" mean="0.5"/>
122
+ </prior>
123
+ <prior id="KappaPrior" name="distribution" x="@kappa">
124
+ <LogNormal name="distr" M="1.0" S="1.25"/>
125
+ </prior>
126
+ </distribution>
127
+ </distribution>
128
+
129
+ <operator spec="BactrianScaleOperator" tree="@tree" rootOnly="true" scaleFactor="0.25" weight="5.0"/>
130
+ <operator spec="BactrianNodeOperator" tree="@tree" weight="30.0"/>
131
+ <operator spec="BactrianSubtreeSlide" tree="@tree" weight="15.0"/>
132
+ <operator spec="Exchange" tree="@tree" weight="15.0"/>
133
+ <operator spec="Exchange" tree="@tree" isNarrow="false" weight="3.0"/>
134
+ <operator spec="WilsonBalding" tree="@tree" weight="3.0"/>
135
+ <operator spec="EpochFlexOperator" tree="@tree" scaleFactor="0.1" weight="2.0"/>
136
+ <operator spec="EpochFlexOperator" tree="@tree" fromOldestTipOnly="false" scaleFactor="0.1" weight="2.0"/>
137
+ <operator spec="TreeStretchOperator" tree="@tree" scaleFactor="0.01" weight="2.0"/>
138
+ <operator spec="BactrianScaleOperator" parameter="@processLength" scaleFactor="0.25" weight="3.0"/>
139
+ <operator spec="SmartScaleOperator" parameter="@Re" scaleFactor="0.25" weight="10.0"/>
140
+ <operator spec="SmartScaleOperator" parameter="@samplingProportion" weight="3.0"/>
141
+ <plate var="n" range="$(layersRange)">
142
+ <operator spec="BactrianRandomWalkOperator" parameter="@migrationRateW$(n)" weight="5.0"/>
143
+ </plate>
144
+ <operator spec="BactrianScaleOperator" parameter="@gammaShape" weight="1.0"/>
145
+ <operator spec="BactrianScaleOperator" parameter="@kappa" weight="1.0"/>
146
+
147
+ <logger spec="Logger" fileName="MCMC.log" logEvery="1000" model="@posterior" sanitiseHeaders="true" sort="smart">
148
+ <log idref="posterior"/>
149
+ <log idref="likelihood"/>
150
+ <log idref="prior"/>
151
+ <log idref="BDMMPrime"/>
152
+ <log idref="gammaShape"/>
153
+ <log idref="kappa"/>
154
+ <log idref="processLength"/>
155
+ <log idref="ReSP"/>
156
+ <log idref="samplingProportionSP"/>
157
+ <log idref="migrationRateSP"/>
158
+ <log idref="migrationRate"/>
159
+ </logger>
160
+ <logger spec="Logger" fileName="typedTrees.trees" logEvery="100000" mode="tree">
161
+ <log idref="typeMappedTree"/>
162
+ </logger>
163
+ <logger spec="Logger" fileName="TypedNodeTrees.trees" logEvery="100000" mode="tree">
164
+ <log spec="TypedNodeTreeLogger" typedTree="@typeMappedTree"/>
165
+ </logger>
166
+ <logger spec="Logger" fileName="trajectories.csv" logEvery="100000">
167
+ <log spec="SampledTrajectory" bdmmDistrib="@BDMMPrime" startTypePriorProbs="@startTypePriorProbs" typeMappedTree="@typeMappedTree" useTauLeaping="true"/>
168
+ </logger>
169
+ </run>
170
+ </beast>
@@ -1,4 +1,3 @@
1
- import json
2
1
  import os
3
2
  from glob import glob
4
3
  from pathlib import Path
@@ -21,23 +20,21 @@ def run_beast():
21
20
  all_predictor_files = ",".join(glob(str(predictors_dir / "all" / "*.tsv")))
22
21
  all_predictors_data = " ".join(
23
22
  [
24
- f"-D aligned_fasta={msa_file}",
25
- f"-D GLMpredictor_changetimes={predictors_dir / 'changetimes_all_7e.tsv'}",
26
- f"-D GLMpredictor_files={all_predictor_files}",
23
+ f"-D msa_file={msa_file}",
24
+ f"-D changeTimesFile={predictors_dir / 'changetimes_all_7e.tsv'}",
25
+ f"-D predictorFiles={all_predictor_files}",
27
26
  ]
28
27
  )
29
28
  flight_predictor_data = " ".join(
30
29
  [
31
- f"-D aligned_fasta={msa_file}",
32
- f"-D GLMpredictor_changetimes={predictors_dir / 'changetimes_flights_4e.tsv'}",
33
- f"-D GLMpredictor_files={predictors_dir / 'flight_pop_x_4e_ls.tsv'}",
30
+ f"-D msa_file={msa_file}",
31
+ f"-D changeTimesFile={predictors_dir / 'changetimes_flights_4e.tsv'}",
32
+ f"-D predictorFiles={predictors_dir / 'flight_pop_x_4e_ls.tsv'}",
34
33
  ]
35
34
  )
36
35
 
37
- job_ids = {}
38
-
39
36
  os.makedirs(output_dir / "Nonparametric", exist_ok=True)
40
- job_ids["Nonparametric"] = submit_job(
37
+ submit_job(
41
38
  " ".join(
42
39
  [
43
40
  os.environ["BELLA_RUN_BEAST_CMD"],
@@ -52,7 +49,7 @@ def run_beast():
52
49
  )
53
50
 
54
51
  os.makedirs(output_dir / "all-predictors-GLM", exist_ok=True)
55
- job_ids["all-predictors-GLM"] = submit_job(
52
+ submit_job(
56
53
  " ".join(
57
54
  [
58
55
  os.environ["BELLA_RUN_BEAST_CMD"],
@@ -67,7 +64,7 @@ def run_beast():
67
64
  )
68
65
 
69
66
  os.makedirs(output_dir / "flights-GLM", exist_ok=True)
70
- job_ids["flights-GLM"] = submit_job(
67
+ submit_job(
71
68
  " ".join(
72
69
  [
73
70
  os.environ["BELLA_RUN_BEAST_CMD"],
@@ -82,7 +79,7 @@ def run_beast():
82
79
  )
83
80
 
84
81
  os.makedirs(output_dir / "all-predictors-MLP", exist_ok=True)
85
- job_ids["all-predictors-MLP"] = submit_job(
82
+ submit_job(
86
83
  " ".join(
87
84
  [
88
85
  os.environ["BELLA_RUN_BEAST_CMD"],
@@ -98,7 +95,7 @@ def run_beast():
98
95
  )
99
96
 
100
97
  os.makedirs(output_dir / "flights-MLP", exist_ok=True)
101
- job_ids["flights-MLP"] = submit_job(
98
+ submit_job(
102
99
  " ".join(
103
100
  [
104
101
  os.environ["BELLA_RUN_BEAST_CMD"],
@@ -112,6 +109,3 @@ def run_beast():
112
109
  cpus=128,
113
110
  mem_per_cpu=12000,
114
111
  )
115
-
116
- with open(base_output_dir / "eucovid_job_ids.json", "w") as f:
117
- json.dump(job_ids, f)
@@ -36,8 +36,8 @@
36
36
  <run spec="MCMC" chainLength="10000000">
37
37
  <state id="state">
38
38
  <plate var="n" range="$(layersRange)">
39
- <stateNode spec="RealParameter" name="stateNode" id="birthRateW$(n)" value="0"/>
40
- <stateNode spec="RealParameter" name="stateNode" id="deathRateW$(n)" value="0"/>
39
+ <stateNode spec="RealParameter" id="birthRateW$(n)" value="0"/>
40
+ <stateNode spec="RealParameter" id="deathRateW$(n)" value="0"/>
41
41
  </plate>
42
42
  <stateNode spec="RealParameter" id="samplingRate" value="$(samplingRateInit)"/>
43
43
  <stateNode spec="RealParameter" id="migrationRate" value="$(migrationRateInit)"/>
@@ -1,4 +1,3 @@
1
- import json
2
1
  import os
3
2
  from pathlib import Path
4
3
 
@@ -33,8 +32,9 @@ def run_beast():
33
32
  time_predictor = " ".join(list(map(str, np.repeat(time_bins, len(types)))))
34
33
  log10BM_predictor = " ".join(types * T)
35
34
 
36
- job_ids = {}
37
- for i, tree in enumerate(tqdm(trees)):
35
+ for i, tree in enumerate(
36
+ tqdm(trees, desc="Submitting BEAST jobs for platyrrhine datasets")
37
+ ):
38
38
  process_length = max(get_node_depths(tree).values())
39
39
  command = " ".join(
40
40
  [
@@ -62,11 +62,8 @@ def run_beast():
62
62
  str(Path(__file__).parent / "beast_config.xml"),
63
63
  ]
64
64
  )
65
- job_ids[i] = submit_job(
65
+ submit_job(
66
66
  command,
67
67
  Path(os.environ["BELLA_SBATCH_LOG_DIR"]) / "platyrrhine" / str(i),
68
68
  mem_per_cpu=12000,
69
69
  )
70
-
71
- with open(base_output_dir / "platyrrhine_job_ids.json", "w") as f:
72
- json.dump(job_ids, f)
@@ -31,7 +31,7 @@
31
31
  <run spec="MCMC" chainLength="10000000">
32
32
  <state id="state">
33
33
  <plate var="n" range="$(layersRange)">
34
- <stateNode spec="RealParameter" name="stateNode" id="migrationRateW$(n)" value="0"/>
34
+ <stateNode spec="RealParameter" id="migrationRateW$(n)" value="0"/>
35
35
  </plate>
36
36
  </state>
37
37
 
@@ -25,7 +25,7 @@
25
25
  <run spec="MCMC" chainLength="10000000">
26
26
  <state id="state">
27
27
  <plate var="n" range="$(layersRange)">
28
- <stateNode spec="RealParameter" name="stateNode" id="reproductionNumberW$(n)" value="0"/>
28
+ <stateNode spec="RealParameter" id="reproductionNumberW$(n)" value="0"/>
29
29
  </plate>
30
30
  </state>
31
31
 
@@ -29,8 +29,8 @@
29
29
  <run spec="MCMC" chainLength="10000000">
30
30
  <state id="state">
31
31
  <plate var="n" range="$(layersRange)">
32
- <stateNode spec="RealParameter" name="stateNode" id="birthRateW$(n)" value="0"/>
33
- <stateNode spec="RealParameter" name="stateNode" id="deathRateW$(n)" value="0"/>
32
+ <stateNode spec="RealParameter" id="birthRateW$(n)" value="0"/>
33
+ <stateNode spec="RealParameter" id="deathRateW$(n)" value="0"/>
34
34
  </plate>
35
35
  </state>
36
36
 
@@ -23,8 +23,8 @@
23
23
  <run spec="MCMC" chainLength="10000000">
24
24
  <state id="state">
25
25
  <plate var="n" range="$(layersRange)">
26
- <stateNode spec="RealParameter" name="stateNode" id="birthRateW$(n)" value="0"/>
27
- <stateNode spec="RealParameter" name="stateNode" id="deathRateW$(n)" value="0"/>
26
+ <stateNode spec="RealParameter" id="birthRateW$(n)" value="0"/>
27
+ <stateNode spec="RealParameter" id="deathRateW$(n)" value="0"/>
28
28
  </plate>
29
29
  </state>
30
30
 
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "bella-companion"
3
- version = "0.0.28"
3
+ version = "0.0.30"
4
4
  description = ""
5
5
  authors = ["gabriele-marino <gabmarino.8601@gmail.com>"]
6
6