stdferdowsim 0.1.0__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.
- stdferdowsim-0.1.0/.github/ISSUE_TEMPLATE/bug-report-issue-template.md +20 -0
- stdferdowsim-0.1.0/.github/ISSUE_TEMPLATE/dfe-qc-issue-template.md +17 -0
- stdferdowsim-0.1.0/.github/ISSUE_TEMPLATE/feature-request-issue-template.md +21 -0
- stdferdowsim-0.1.0/.github/ISSUE_TEMPLATE/model-qc-issue-template.md +18 -0
- stdferdowsim-0.1.0/.github/ISSUE_TEMPLATE/new-species-issue-template.md +71 -0
- stdferdowsim-0.1.0/.github/ISSUE_TEMPLATE/species-qc-issue-template.md +57 -0
- stdferdowsim-0.1.0/.github/dependabot.yml +7 -0
- stdferdowsim-0.1.0/.github/mergify.yml +34 -0
- stdferdowsim-0.1.0/.github/workflows/docs.yml +60 -0
- stdferdowsim-0.1.0/.github/workflows/pre-commit.yml +17 -0
- stdferdowsim-0.1.0/.github/workflows/publish-pypi.yml +37 -0
- stdferdowsim-0.1.0/.github/workflows/tests.yml +90 -0
- stdferdowsim-0.1.0/.gitignore +20 -0
- stdferdowsim-0.1.0/.readthedocs.yml +28 -0
- stdferdowsim-0.1.0/.test/README.txt +27 -0
- stdferdowsim-0.1.0/.test/install_and_run.sh +15 -0
- stdferdowsim-0.1.0/.test/run_cli_test.sh +11 -0
- stdferdowsim-0.1.0/.test/run_simulation.py +43 -0
- stdferdowsim-0.1.0/.test/run_slim_test.py +84 -0
- stdferdowsim-0.1.0/CHANGELOG.rst +546 -0
- stdferdowsim-0.1.0/Makefile +16 -0
- stdferdowsim-0.1.0/PKG-INFO +219 -0
- stdferdowsim-0.1.0/README.md +183 -0
- stdferdowsim-0.1.0/docs/Makefile +28 -0
- stdferdowsim-0.1.0/docs/_ext/speciescatalog.py +197 -0
- stdferdowsim-0.1.0/docs/_static/custom.css +198 -0
- stdferdowsim-0.1.0/docs/_static/demography/AlpNac/FourAlpRegions_4D12.png +0 -0
- stdferdowsim-0.1.0/docs/_static/demography/AlpNac/NightmareExpansion_1D12.png +0 -0
- stdferdowsim-0.1.0/docs/_static/demography/AlpNac/SleepParalysis_1D12.png +0 -0
- stdferdowsim-0.1.0/docs/_static/demography/AlpNac/SwabianAlp_1D12.png +0 -0
- stdferdowsim-0.1.0/docs/_static/demography/AlpNac/SwabianSaxonIM_2D12.png +0 -0
- stdferdowsim-0.1.0/docs/_static/demography/AlpNac/SwabianSaxon_2D12.png +0 -0
- stdferdowsim-0.1.0/docs/_static/demography/AlpNac/ThreeAlpRegions_3D12.png +0 -0
- stdferdowsim-0.1.0/docs/_static/demography/AscPut/HearthHazelTree_2D12.png +0 -0
- stdferdowsim-0.1.0/docs/_static/demography/AscPut/Hearth_1D12.png +0 -0
- stdferdowsim-0.1.0/docs/_static/demography/BasRex/CologneDen_1D12.png +0 -0
- stdferdowsim-0.1.0/docs/_static/demography/BasRex/CologneVienna_2D12.png +0 -0
- stdferdowsim-0.1.0/docs/_static/demography/BasRex/PetrifyingGaze_1D12.png +0 -0
- stdferdowsim-0.1.0/docs/_static/demography/BerAlp/BavarianAlpsSalzburg_2D12.png +0 -0
- stdferdowsim-0.1.0/docs/_static/demography/BerAlp/BavarianAlpsTyrol_2D12.png +0 -0
- stdferdowsim-0.1.0/docs/_static/demography/BerAlp/BavarianAlps_1D12.png +0 -0
- stdferdowsim-0.1.0/docs/_static/demography/BreSta/BremenLowerSaxonyLuneburg_3D12.png +0 -0
- stdferdowsim-0.1.0/docs/_static/demography/BreSta/BremenLowerSaxony_2D12.png +0 -0
- stdferdowsim-0.1.0/docs/_static/demography/BreSta/Bremen_1D12.png +0 -0
- stdferdowsim-0.1.0/docs/_static/demography/DraFeu/CastleLair_1D12.png +0 -0
- stdferdowsim-0.1.0/docs/_static/demography/DraFeu/DragonSlayer_1D12.png +0 -0
- stdferdowsim-0.1.0/docs/_static/demography/DraFeu/RhineBavaria_2D12.png +0 -0
- stdferdowsim-0.1.0/docs/_static/demography/ErlKoe/AncientWoodland_1D12.png +0 -0
- stdferdowsim-0.1.0/docs/_static/demography/ErlKoe/DeforestationDecline_1D12.png +0 -0
- stdferdowsim-0.1.0/docs/_static/demography/ErlKoe/FourForestDomains_4D12.png +0 -0
- stdferdowsim-0.1.0/docs/_static/demography/ErlKoe/ThreeForestRealms_3D12.png +0 -0
- stdferdowsim-0.1.0/docs/_static/demography/ErlKoe/ThuringianBalticIM_2D12.png +0 -0
- stdferdowsim-0.1.0/docs/_static/demography/ErlKoe/ThuringianBaltic_2D12.png +0 -0
- stdferdowsim-0.1.0/docs/_static/demography/ErlKoe/Thuringian_1D12.png +0 -0
- stdferdowsim-0.1.0/docs/_static/demography/FeeFlu/FairyRingExpansion_1D12.png +0 -0
- stdferdowsim-0.1.0/docs/_static/demography/FeeFlu/FourTributaries_4D12.png +0 -0
- stdferdowsim-0.1.0/docs/_static/demography/FeeFlu/MainMoselleIM_2D12.png +0 -0
- stdferdowsim-0.1.0/docs/_static/demography/FeeFlu/MainMoselle_2D12.png +0 -0
- stdferdowsim-0.1.0/docs/_static/demography/FeeFlu/MainRiver_1D12.png +0 -0
- stdferdowsim-0.1.0/docs/_static/demography/FeeFlu/RiverPollution_1D12.png +0 -0
- stdferdowsim-0.1.0/docs/_static/demography/FeeFlu/SpringFlood_1D12.png +0 -0
- stdferdowsim-0.1.0/docs/_static/demography/FeeFlu/ThreeTributaries_3D12.png +0 -0
- stdferdowsim-0.1.0/docs/_static/demography/FraHol/FourRealms_4D12.png +0 -0
- stdferdowsim-0.1.0/docs/_static/demography/FraHol/GoldenAge_1D12.png +0 -0
- stdferdowsim-0.1.0/docs/_static/demography/FraHol/ThreeRealms_3D12.png +0 -0
- stdferdowsim-0.1.0/docs/_static/demography/FraHol/WellRealmExpansion_1D12.png +0 -0
- stdferdowsim-0.1.0/docs/_static/demography/FraHol/WellRealm_1D12.png +0 -0
- stdferdowsim-0.1.0/docs/_static/demography/FraHol/WellSnowIM_2D12.png +0 -0
- stdferdowsim-0.1.0/docs/_static/demography/FraHol/WellSnow_2D12.png +0 -0
- stdferdowsim-0.1.0/docs/_static/demography/HeiCol/CologneAachenIM_2D12.png +0 -0
- stdferdowsim-0.1.0/docs/_static/demography/HeiCol/CologneAachen_2D12.png +0 -0
- stdferdowsim-0.1.0/docs/_static/demography/HeiCol/CologneExpansion_1D12.png +0 -0
- stdferdowsim-0.1.0/docs/_static/demography/HeiCol/Cologne_1D12.png +0 -0
- stdferdowsim-0.1.0/docs/_static/demography/HeiCol/FourRhinelandCities_4D12.png +0 -0
- stdferdowsim-0.1.0/docs/_static/demography/HeiCol/NocturnalWorkshop_1D12.png +0 -0
- stdferdowsim-0.1.0/docs/_static/demography/HeiCol/TailorsWifeBottleneck_1D12.png +0 -0
- stdferdowsim-0.1.0/docs/_static/demography/HeiCol/ThreeRhinelandCities_3D12.png +0 -0
- stdferdowsim-0.1.0/docs/_static/demography/HexWal/BrockenBamberg_2D12.png +0 -0
- stdferdowsim-0.1.0/docs/_static/demography/HexWal/BrockenSabbath_1D12.png +0 -0
- stdferdowsim-0.1.0/docs/_static/demography/HexWal/WitchTrialPurge_1D12.png +0 -0
- stdferdowsim-0.1.0/docs/_static/demography/JotRie/NiflJotun_2D12.png +0 -0
- stdferdowsim-0.1.0/docs/_static/demography/JotRie/NiflheimClan_1D12.png +0 -0
- stdferdowsim-0.1.0/docs/_static/demography/JotRie/Ragnarok_1D12.png +0 -0
- stdferdowsim-0.1.0/docs/_static/demography/KobHau/FourKoboldNiches_4D12.png +0 -0
- stdferdowsim-0.1.0/docs/_static/demography/KobHau/IndustrialDecline_1D12.png +0 -0
- stdferdowsim-0.1.0/docs/_static/demography/KobHau/MedievalUrbanBoom_1D12.png +0 -0
- stdferdowsim-0.1.0/docs/_static/demography/KobHau/ThreeKoboldTypes_3D12.png +0 -0
- stdferdowsim-0.1.0/docs/_static/demography/KobHau/UrbanKobold_1D12.png +0 -0
- stdferdowsim-0.1.0/docs/_static/demography/KobHau/UrbanRuralIM_2D12.png +0 -0
- stdferdowsim-0.1.0/docs/_static/demography/KobHau/UrbanRural_2D12.png +0 -0
- stdferdowsim-0.1.0/docs/_static/demography/LinDra/DragonSlayerBottleneck_1D12.png +0 -0
- stdferdowsim-0.1.0/docs/_static/demography/LinDra/FourDragonLairs_4D12.png +0 -0
- stdferdowsim-0.1.0/docs/_static/demography/LinDra/NearExtinction_1D12.png +0 -0
- stdferdowsim-0.1.0/docs/_static/demography/LinDra/RhineDragon_1D12.png +0 -0
- stdferdowsim-0.1.0/docs/_static/demography/LinDra/RhineKlagenfurtIM_2D12.png +0 -0
- stdferdowsim-0.1.0/docs/_static/demography/LinDra/RhineKlagenfurt_2D12.png +0 -0
- stdferdowsim-0.1.0/docs/_static/demography/LinDra/ThreeDragonLairs_3D12.png +0 -0
- stdferdowsim-0.1.0/docs/_static/demography/LorRhe/FourRhineStretches_4D12.png +0 -0
- stdferdowsim-0.1.0/docs/_static/demography/LorRhe/LoreleyDecline_1D12.png +0 -0
- stdferdowsim-0.1.0/docs/_static/demography/LorRhe/LoreleyMiddleRhineIM_2D12.png +0 -0
- stdferdowsim-0.1.0/docs/_static/demography/LorRhe/LoreleyMiddleRhine_2D12.png +0 -0
- stdferdowsim-0.1.0/docs/_static/demography/LorRhe/LoreleyRock_1D12.png +0 -0
- stdferdowsim-0.1.0/docs/_static/demography/LorRhe/RhineGorge_3D12.png +0 -0
- stdferdowsim-0.1.0/docs/_static/demography/LorRhe/SirenSong_1D12.png +0 -0
- stdferdowsim-0.1.0/docs/_static/demography/MasLak/MasurianLakesSpirdingsee_2D12.png +0 -0
- stdferdowsim-0.1.0/docs/_static/demography/MasLak/MasurianLakes_1D12.png +0 -0
- stdferdowsim-0.1.0/docs/_static/demography/MasLak/MasurianThreeLakes_3D12.png +0 -0
- stdferdowsim-0.1.0/docs/_static/demography/MooBay/BayrischerWaldOberpfalz_2D12.png +0 -0
- stdferdowsim-0.1.0/docs/_static/demography/MooBay/BayrischerWald_1D12.png +0 -0
- stdferdowsim-0.1.0/docs/_static/demography/MueGei/BlackForestMill_1D12.png +0 -0
- stdferdowsim-0.1.0/docs/_static/demography/MueGei/ForestMarsh_2D12.png +0 -0
- stdferdowsim-0.1.0/docs/_static/demography/MueGei/IndustrialDecline_1D12.png +0 -0
- stdferdowsim-0.1.0/docs/_static/demography/NixRhe/FourRivers_4D12.png +0 -0
- stdferdowsim-0.1.0/docs/_static/demography/NixRhe/RhineBottleneck_1D12.png +0 -0
- stdferdowsim-0.1.0/docs/_static/demography/NixRhe/RhineElbeIM_2D12.png +0 -0
- stdferdowsim-0.1.0/docs/_static/demography/NixRhe/RhineElbe_2D12.png +0 -0
- stdferdowsim-0.1.0/docs/_static/demography/NixRhe/Rhine_1D12.png +0 -0
- stdferdowsim-0.1.0/docs/_static/demography/NixRhe/ThreeRivers_3D12.png +0 -0
- stdferdowsim-0.1.0/docs/_static/demography/NixRhe/TidalFluctuation_1D12.png +0 -0
- stdferdowsim-0.1.0/docs/_static/demography/OstBal/EastPrussiaBaltic_3D12.png +0 -0
- stdferdowsim-0.1.0/docs/_static/demography/OstBal/KurischeNehrungMemelland_2D12.png +0 -0
- stdferdowsim-0.1.0/docs/_static/demography/OstBal/KurischeNehrung_1D12.png +0 -0
- stdferdowsim-0.1.0/docs/_static/demography/PomBal/PomeraniaBaltic_3D12.png +0 -0
- stdferdowsim-0.1.0/docs/_static/demography/PomBal/UsedomRugen_2D12.png +0 -0
- stdferdowsim-0.1.0/docs/_static/demography/PomBal/Usedom_1D12.png +0 -0
- stdferdowsim-0.1.0/docs/_static/demography/PukPru/EastPrussiaBerlinBrandenburg_2D12.png +0 -0
- stdferdowsim-0.1.0/docs/_static/demography/PukPru/EastPrussiaWestPrussia_2D12.png +0 -0
- stdferdowsim-0.1.0/docs/_static/demography/PukPru/EastPrussia_1D12.png +0 -0
- stdferdowsim-0.1.0/docs/_static/demography/RueHar/AncientMountainSpirit_1D12.png +0 -0
- stdferdowsim-0.1.0/docs/_static/demography/RueHar/FourMountainSpirits_4D12.png +0 -0
- stdferdowsim-0.1.0/docs/_static/demography/RueHar/HarzRiesengebirge_2D12.png +0 -0
- stdferdowsim-0.1.0/docs/_static/demography/RueHar/IceAgeSurvival_1D12.png +0 -0
- stdferdowsim-0.1.0/docs/_static/demography/RueHar/RiesenHarzIM_2D12.png +0 -0
- stdferdowsim-0.1.0/docs/_static/demography/RueHar/Riesengebirge_1D12.png +0 -0
- stdferdowsim-0.1.0/docs/_static/demography/RueHar/ThreeMountains_3D12.png +0 -0
- stdferdowsim-0.1.0/docs/_static/demography/RumSti/ThuringiaHesse_2D12.png +0 -0
- stdferdowsim-0.1.0/docs/_static/demography/RumSti/Thuringia_1D12.png +0 -0
- stdferdowsim-0.1.0/docs/_static/demography/SaxErz/ErzgebirgeVogtlandDresden_3D12.png +0 -0
- stdferdowsim-0.1.0/docs/_static/demography/SaxErz/ErzgebirgeVogtland_2D12.png +0 -0
- stdferdowsim-0.1.0/docs/_static/demography/SaxErz/Erzgebirge_1D12.png +0 -0
- stdferdowsim-0.1.0/docs/_static/demography/SchWar/BlackForest_1D12.png +0 -0
- stdferdowsim-0.1.0/docs/_static/demography/SchWar/DeforestationRecovery_1D12.png +0 -0
- stdferdowsim-0.1.0/docs/_static/demography/SchWar/ForestExpansion_1D12.png +0 -0
- stdferdowsim-0.1.0/docs/_static/demography/SchWar/FourForestValleys_4D12.png +0 -0
- stdferdowsim-0.1.0/docs/_static/demography/SchWar/NorthSouthBlackForest_2D12.png +0 -0
- stdferdowsim-0.1.0/docs/_static/demography/SchWar/NorthSouthIM_2D12.png +0 -0
- stdferdowsim-0.1.0/docs/_static/demography/SchWar/ThreeForestZones_3D12.png +0 -0
- stdferdowsim-0.1.0/docs/_static/demography/SieRab/GlassMountainForestWell_2D12.png +0 -0
- stdferdowsim-0.1.0/docs/_static/demography/SieRab/GlassMountain_1D12.png +0 -0
- stdferdowsim-0.1.0/docs/_static/demography/ValKri/Christianization_1D12.png +0 -0
- stdferdowsim-0.1.0/docs/_static/demography/ValKri/ValhallaHost_1D12.png +0 -0
- stdferdowsim-0.1.0/docs/_static/demography/ValKri/ValhallaMidgard_2D12.png +0 -0
- stdferdowsim-0.1.0/docs/_static/demography/WerWol/FourWerewolfPacks_4D12.png +0 -0
- stdferdowsim-0.1.0/docs/_static/demography/WerWol/LycanthropeRecovery_1D12.png +0 -0
- stdferdowsim-0.1.0/docs/_static/demography/WerWol/RhinelandLivonianIM_2D12.png +0 -0
- stdferdowsim-0.1.0/docs/_static/demography/WerWol/RhinelandLivonian_2D12.png +0 -0
- stdferdowsim-0.1.0/docs/_static/demography/WerWol/Rhineland_1D12.png +0 -0
- stdferdowsim-0.1.0/docs/_static/demography/WerWol/ThreeWerewolfPacks_3D12.png +0 -0
- stdferdowsim-0.1.0/docs/_static/demography/WerWol/WitchTrialBottleneck_1D12.png +0 -0
- stdferdowsim-0.1.0/docs/_static/demography/WilJae/ChristianizationBottleneck_1D12.png +0 -0
- stdferdowsim-0.1.0/docs/_static/demography/WilJae/FourHuntRegions_4D12.png +0 -0
- stdferdowsim-0.1.0/docs/_static/demography/WilJae/NorthSouthHuntIM_2D12.png +0 -0
- stdferdowsim-0.1.0/docs/_static/demography/WilJae/NorthSouthHunt_2D12.png +0 -0
- stdferdowsim-0.1.0/docs/_static/demography/WilJae/NorthernHunt_1D12.png +0 -0
- stdferdowsim-0.1.0/docs/_static/demography/WilJae/ThreeHuntHosts_3D12.png +0 -0
- stdferdowsim-0.1.0/docs/_static/demography/WilJae/WinterSolstice_1D12.png +0 -0
- stdferdowsim-0.1.0/docs/_static/demography/WolBay/BavariaThreeRegion_3D12.png +0 -0
- stdferdowsim-0.1.0/docs/_static/demography/WolBay/UpperBavariaBavarianForest_2D12.png +0 -0
- stdferdowsim-0.1.0/docs/_static/demography/WolBay/UpperBavaria_1D12.png +0 -0
- stdferdowsim-0.1.0/docs/_static/demography/ZweBerg/AlpineDwarfRadiation_3D12.png +0 -0
- stdferdowsim-0.1.0/docs/_static/demography/ZweBerg/BlackForest_1D12.png +0 -0
- stdferdowsim-0.1.0/docs/_static/demography/ZweBerg/FourMountainRanges_4D12.png +0 -0
- stdferdowsim-0.1.0/docs/_static/demography/ZweBerg/HarzBlackForest_2D12.png +0 -0
- stdferdowsim-0.1.0/docs/_static/demography/ZweBerg/IsolationMigration_2D12.png +0 -0
- stdferdowsim-0.1.0/docs/_static/demography/ZweBerg/MineCollapse_1D12.png +0 -0
- stdferdowsim-0.1.0/docs/_static/demography/ZweBerg/PostGlacialExpansion_1D12.png +0 -0
- stdferdowsim-0.1.0/docs/_static/do_not_delete +1 -0
- stdferdowsim-0.1.0/docs/_static/ferdowsi_placeholder.png +0 -0
- stdferdowsim-0.1.0/docs/_static/logo.png +0 -0
- stdferdowsim-0.1.0/docs/_static/tute-divergence.png +0 -0
- stdferdowsim-0.1.0/docs/_static/tute-sfs.png +0 -0
- stdferdowsim-0.1.0/docs/_static/tute-sweep.png +0 -0
- stdferdowsim-0.1.0/docs/_templates/do_not_delete +1 -0
- stdferdowsim-0.1.0/docs/_templates/footer.html +5 -0
- stdferdowsim-0.1.0/docs/all_models.rst +6 -0
- stdferdowsim-0.1.0/docs/api.rst +230 -0
- stdferdowsim-0.1.0/docs/catalog.rst +273 -0
- stdferdowsim-0.1.0/docs/changelogs.rst +5 -0
- stdferdowsim-0.1.0/docs/cli_arguments.rst +10 -0
- stdferdowsim-0.1.0/docs/conf.py +155 -0
- stdferdowsim-0.1.0/docs/development.rst +1839 -0
- stdferdowsim-0.1.0/docs/docutils.conf +5 -0
- stdferdowsim-0.1.0/docs/examples.py +24 -0
- stdferdowsim-0.1.0/docs/generate_demography_figures.py +60 -0
- stdferdowsim-0.1.0/docs/index.rst +79 -0
- stdferdowsim-0.1.0/docs/installation.rst +119 -0
- stdferdowsim-0.1.0/docs/introduction.rst +153 -0
- stdferdowsim-0.1.0/docs/parameter_tables/CthGre/DeepSlumber_1R28.csv +7 -0
- stdferdowsim-0.1.0/docs/parameter_tables/CthGre/RlyehRising_2P20.csv +8 -0
- stdferdowsim-0.1.0/docs/parameter_tables/DagHyd/HybridIntrogression_2M27.csv +7 -0
- stdferdowsim-0.1.0/docs/parameter_tables/DagHyd/InnsmouthDecline_1M27.csv +6 -0
- stdferdowsim-0.1.0/docs/selection_example.py +161 -0
- stdferdowsim-0.1.0/docs/tutorial.rst +1900 -0
- stdferdowsim-0.1.0/environment.yml +22 -0
- stdferdowsim-0.1.0/generate_catalog.py +619 -0
- stdferdowsim-0.1.0/maintenance/__init__.py +7 -0
- stdferdowsim-0.1.0/maintenance/__main__.py +6 -0
- stdferdowsim-0.1.0/maintenance/annotation_maint.py +141 -0
- stdferdowsim-0.1.0/maintenance/ensembl.py +124 -0
- stdferdowsim-0.1.0/maintenance/liftOver.py +681 -0
- stdferdowsim-0.1.0/maintenance/liftOver_catalog.py +188 -0
- stdferdowsim-0.1.0/maintenance/liftOver_comeron2012.py +201 -0
- stdferdowsim-0.1.0/maintenance/main.py +570 -0
- stdferdowsim-0.1.0/maintenance/ncbi.py +75 -0
- stdferdowsim-0.1.0/pyproject.toml +55 -0
- stdferdowsim-0.1.0/requirements/CI/conda.txt +2 -0
- stdferdowsim-0.1.0/requirements/CI/requirements.txt +23 -0
- stdferdowsim-0.1.0/requirements/development.txt +28 -0
- stdferdowsim-0.1.0/requirements/rtd-conda-environment.yml +18 -0
- stdferdowsim-0.1.0/setup.cfg +67 -0
- stdferdowsim-0.1.0/setup.py +9 -0
- stdferdowsim-0.1.0/stdferdowsim/__init__.py +30 -0
- stdferdowsim-0.1.0/stdferdowsim/__main__.py +4 -0
- stdferdowsim-0.1.0/stdferdowsim/_version.py +34 -0
- stdferdowsim-0.1.0/stdferdowsim/annotations.py +90 -0
- stdferdowsim-0.1.0/stdferdowsim/cache.py +178 -0
- stdferdowsim-0.1.0/stdferdowsim/catalog/AfrHor/__init__.py +6 -0
- stdferdowsim-0.1.0/stdferdowsim/catalog/AfrHor/demographic_models.py +377 -0
- stdferdowsim-0.1.0/stdferdowsim/catalog/AfrHor/genome_data.py +14 -0
- stdferdowsim-0.1.0/stdferdowsim/catalog/AfrHor/species.py +51 -0
- stdferdowsim-0.1.0/stdferdowsim/catalog/AlDem/__init__.py +6 -0
- stdferdowsim-0.1.0/stdferdowsim/catalog/AlDem/demographic_models.py +377 -0
- stdferdowsim-0.1.0/stdferdowsim/catalog/AlDem/genome_data.py +13 -0
- stdferdowsim-0.1.0/stdferdowsim/catalog/AlDem/species.py +51 -0
- stdferdowsim-0.1.0/stdferdowsim/catalog/AzhDra/__init__.py +6 -0
- stdferdowsim-0.1.0/stdferdowsim/catalog/AzhDra/demographic_models.py +377 -0
- stdferdowsim-0.1.0/stdferdowsim/catalog/AzhDra/genome_data.py +14 -0
- stdferdowsim-0.1.0/stdferdowsim/catalog/AzhDra/species.py +51 -0
- stdferdowsim-0.1.0/stdferdowsim/catalog/BahFir/__init__.py +6 -0
- stdferdowsim-0.1.0/stdferdowsim/catalog/BahFir/demographic_models.py +377 -0
- stdferdowsim-0.1.0/stdferdowsim/catalog/BahFir/genome_data.py +14 -0
- stdferdowsim-0.1.0/stdferdowsim/catalog/BahFir/species.py +51 -0
- stdferdowsim-0.1.0/stdferdowsim/catalog/ChaGri/__init__.py +6 -0
- stdferdowsim-0.1.0/stdferdowsim/catalog/ChaGri/demographic_models.py +377 -0
- stdferdowsim-0.1.0/stdferdowsim/catalog/ChaGri/genome_data.py +14 -0
- stdferdowsim-0.1.0/stdferdowsim/catalog/ChaGri/species.py +51 -0
- stdferdowsim-0.1.0/stdferdowsim/catalog/DaeWar/__init__.py +6 -0
- stdferdowsim-0.1.0/stdferdowsim/catalog/DaeWar/demographic_models.py +377 -0
- stdferdowsim-0.1.0/stdferdowsim/catalog/DaeWar/genome_data.py +14 -0
- stdferdowsim-0.1.0/stdferdowsim/catalog/DaeWar/species.py +51 -0
- stdferdowsim-0.1.0/stdferdowsim/catalog/DivMaz/__init__.py +6 -0
- stdferdowsim-0.1.0/stdferdowsim/catalog/DivMaz/demographic_models.py +377 -0
- stdferdowsim-0.1.0/stdferdowsim/catalog/DivMaz/genome_data.py +14 -0
- stdferdowsim-0.1.0/stdferdowsim/catalog/DivMaz/species.py +51 -0
- stdferdowsim-0.1.0/stdferdowsim/catalog/DouGia/__init__.py +6 -0
- stdferdowsim-0.1.0/stdferdowsim/catalog/DouGia/demographic_models.py +377 -0
- stdferdowsim-0.1.0/stdferdowsim/catalog/DouGia/genome_data.py +14 -0
- stdferdowsim-0.1.0/stdferdowsim/catalog/DouGia/species.py +51 -0
- stdferdowsim-0.1.0/stdferdowsim/catalog/DraAng/__init__.py +6 -0
- stdferdowsim-0.1.0/stdferdowsim/catalog/DraAng/demographic_models.py +377 -0
- stdferdowsim-0.1.0/stdferdowsim/catalog/DraAng/genome_data.py +14 -0
- stdferdowsim-0.1.0/stdferdowsim/catalog/DraAng/species.py +51 -0
- stdferdowsim-0.1.0/stdferdowsim/catalog/EsfSmi/__init__.py +6 -0
- stdferdowsim-0.1.0/stdferdowsim/catalog/EsfSmi/demographic_models.py +377 -0
- stdferdowsim-0.1.0/stdferdowsim/catalog/EsfSmi/genome_data.py +14 -0
- stdferdowsim-0.1.0/stdferdowsim/catalog/EsfSmi/species.py +51 -0
- stdferdowsim-0.1.0/stdferdowsim/catalog/FarGlo/__init__.py +6 -0
- stdferdowsim-0.1.0/stdferdowsim/catalog/FarGlo/demographic_models.py +377 -0
- stdferdowsim-0.1.0/stdferdowsim/catalog/FarGlo/genome_data.py +14 -0
- stdferdowsim-0.1.0/stdferdowsim/catalog/FarGlo/species.py +51 -0
- stdferdowsim-0.1.0/stdferdowsim/catalog/GavPri/__init__.py +6 -0
- stdferdowsim-0.1.0/stdferdowsim/catalog/GavPri/demographic_models.py +377 -0
- stdferdowsim-0.1.0/stdferdowsim/catalog/GavPri/genome_data.py +13 -0
- stdferdowsim-0.1.0/stdferdowsim/catalog/GavPri/species.py +51 -0
- stdferdowsim-0.1.0/stdferdowsim/catalog/GhoUnd/__init__.py +6 -0
- stdferdowsim-0.1.0/stdferdowsim/catalog/GhoUnd/demographic_models.py +377 -0
- stdferdowsim-0.1.0/stdferdowsim/catalog/GhoUnd/genome_data.py +13 -0
- stdferdowsim-0.1.0/stdferdowsim/catalog/GhoUnd/species.py +51 -0
- stdferdowsim-0.1.0/stdferdowsim/catalog/GulRos/__init__.py +6 -0
- stdferdowsim-0.1.0/stdferdowsim/catalog/GulRos/demographic_models.py +377 -0
- stdferdowsim-0.1.0/stdferdowsim/catalog/GulRos/genome_data.py +14 -0
- stdferdowsim-0.1.0/stdferdowsim/catalog/GulRos/species.py +51 -0
- stdferdowsim-0.1.0/stdferdowsim/catalog/HumBir/__init__.py +6 -0
- stdferdowsim-0.1.0/stdferdowsim/catalog/HumBir/demographic_models.py +377 -0
- stdferdowsim-0.1.0/stdferdowsim/catalog/HumBir/genome_data.py +15 -0
- stdferdowsim-0.1.0/stdferdowsim/catalog/HumBir/species.py +51 -0
- stdferdowsim-0.1.0/stdferdowsim/catalog/JamPis/__init__.py +6 -0
- stdferdowsim-0.1.0/stdferdowsim/catalog/JamPis/demographic_models.py +377 -0
- stdferdowsim-0.1.0/stdferdowsim/catalog/JamPis/genome_data.py +14 -0
- stdferdowsim-0.1.0/stdferdowsim/catalog/JamPis/species.py +51 -0
- stdferdowsim-0.1.0/stdferdowsim/catalog/KayDyn/__init__.py +6 -0
- stdferdowsim-0.1.0/stdferdowsim/catalog/KayDyn/demographic_models.py +377 -0
- stdferdowsim-0.1.0/stdferdowsim/catalog/KayDyn/genome_data.py +14 -0
- stdferdowsim-0.1.0/stdferdowsim/catalog/KayDyn/species.py +51 -0
- stdferdowsim-0.1.0/stdferdowsim/catalog/KhiWis/__init__.py +6 -0
- stdferdowsim-0.1.0/stdferdowsim/catalog/KhiWis/demographic_models.py +377 -0
- stdferdowsim-0.1.0/stdferdowsim/catalog/KhiWis/genome_data.py +13 -0
- stdferdowsim-0.1.0/stdferdowsim/catalog/KhiWis/species.py +51 -0
- stdferdowsim-0.1.0/stdferdowsim/catalog/ManTig/__init__.py +6 -0
- stdferdowsim-0.1.0/stdferdowsim/catalog/ManTig/demographic_models.py +377 -0
- stdferdowsim-0.1.0/stdferdowsim/catalog/ManTig/genome_data.py +14 -0
- stdferdowsim-0.1.0/stdferdowsim/catalog/ManTig/species.py +51 -0
- stdferdowsim-0.1.0/stdferdowsim/catalog/MarMor/__init__.py +6 -0
- stdferdowsim-0.1.0/stdferdowsim/catalog/MarMor/demographic_models.py +377 -0
- stdferdowsim-0.1.0/stdferdowsim/catalog/MarMor/genome_data.py +14 -0
- stdferdowsim-0.1.0/stdferdowsim/catalog/MarMor/species.py +51 -0
- stdferdowsim-0.1.0/stdferdowsim/catalog/MitSol/__init__.py +6 -0
- stdferdowsim-0.1.0/stdferdowsim/catalog/MitSol/demographic_models.py +377 -0
- stdferdowsim-0.1.0/stdferdowsim/catalog/MitSol/genome_data.py +13 -0
- stdferdowsim-0.1.0/stdferdowsim/catalog/MitSol/species.py +51 -0
- stdferdowsim-0.1.0/stdferdowsim/catalog/NarHer/__init__.py +6 -0
- stdferdowsim-0.1.0/stdferdowsim/catalog/NarHer/demographic_models.py +377 -0
- stdferdowsim-0.1.0/stdferdowsim/catalog/NarHer/genome_data.py +14 -0
- stdferdowsim-0.1.0/stdferdowsim/catalog/NarHer/species.py +51 -0
- stdferdowsim-0.1.0/stdferdowsim/catalog/PahDiv/__init__.py +6 -0
- stdferdowsim-0.1.0/stdferdowsim/catalog/PahDiv/demographic_models.py +377 -0
- stdferdowsim-0.1.0/stdferdowsim/catalog/PahDiv/genome_data.py +14 -0
- stdferdowsim-0.1.0/stdferdowsim/catalog/PahDiv/species.py +51 -0
- stdferdowsim-0.1.0/stdferdowsim/catalog/PerPar/__init__.py +6 -0
- stdferdowsim-0.1.0/stdferdowsim/catalog/PerPar/demographic_models.py +377 -0
- stdferdowsim-0.1.0/stdferdowsim/catalog/PerPar/genome_data.py +14 -0
- stdferdowsim-0.1.0/stdferdowsim/catalog/PerPar/species.py +51 -0
- stdferdowsim-0.1.0/stdferdowsim/catalog/PriJin/__init__.py +6 -0
- stdferdowsim-0.1.0/stdferdowsim/catalog/PriJin/demographic_models.py +377 -0
- stdferdowsim-0.1.0/stdferdowsim/catalog/PriJin/genome_data.py +14 -0
- stdferdowsim-0.1.0/stdferdowsim/catalog/PriJin/species.py +51 -0
- stdferdowsim-0.1.0/stdferdowsim/catalog/RakEqu/__init__.py +6 -0
- stdferdowsim-0.1.0/stdferdowsim/catalog/RakEqu/demographic_models.py +377 -0
- stdferdowsim-0.1.0/stdferdowsim/catalog/RakEqu/genome_data.py +14 -0
- stdferdowsim-0.1.0/stdferdowsim/catalog/RakEqu/species.py +51 -0
- stdferdowsim-0.1.0/stdferdowsim/catalog/RosHer/__init__.py +6 -0
- stdferdowsim-0.1.0/stdferdowsim/catalog/RosHer/demographic_models.py +377 -0
- stdferdowsim-0.1.0/stdferdowsim/catalog/RosHer/genome_data.py +14 -0
- stdferdowsim-0.1.0/stdferdowsim/catalog/RosHer/species.py +51 -0
- stdferdowsim-0.1.0/stdferdowsim/catalog/RudSim/__init__.py +6 -0
- stdferdowsim-0.1.0/stdferdowsim/catalog/RudSim/demographic_models.py +377 -0
- stdferdowsim-0.1.0/stdferdowsim/catalog/RudSim/genome_data.py +14 -0
- stdferdowsim-0.1.0/stdferdowsim/catalog/RudSim/species.py +51 -0
- stdferdowsim-0.1.0/stdferdowsim/catalog/SenBir/__init__.py +6 -0
- stdferdowsim-0.1.0/stdferdowsim/catalog/SenBir/demographic_models.py +377 -0
- stdferdowsim-0.1.0/stdferdowsim/catalog/SenBir/genome_data.py +14 -0
- stdferdowsim-0.1.0/stdferdowsim/catalog/SenBir/species.py +51 -0
- stdferdowsim-0.1.0/stdferdowsim/catalog/ShaSha/__init__.py +6 -0
- stdferdowsim-0.1.0/stdferdowsim/catalog/ShaSha/demographic_models.py +377 -0
- stdferdowsim-0.1.0/stdferdowsim/catalog/ShaSha/genome_data.py +15 -0
- stdferdowsim-0.1.0/stdferdowsim/catalog/ShaSha/species.py +51 -0
- stdferdowsim-0.1.0/stdferdowsim/catalog/SimAvi/__init__.py +6 -0
- stdferdowsim-0.1.0/stdferdowsim/catalog/SimAvi/demographic_models.py +377 -0
- stdferdowsim-0.1.0/stdferdowsim/catalog/SimAvi/genome_data.py +15 -0
- stdferdowsim-0.1.0/stdferdowsim/catalog/SimAvi/species.py +51 -0
- stdferdowsim-0.1.0/stdferdowsim/catalog/SorWiz/__init__.py +6 -0
- stdferdowsim-0.1.0/stdferdowsim/catalog/SorWiz/demographic_models.py +377 -0
- stdferdowsim-0.1.0/stdferdowsim/catalog/SorWiz/genome_data.py +14 -0
- stdferdowsim-0.1.0/stdferdowsim/catalog/SorWiz/species.py +51 -0
- stdferdowsim-0.1.0/stdferdowsim/catalog/TurNom/__init__.py +6 -0
- stdferdowsim-0.1.0/stdferdowsim/catalog/TurNom/demographic_models.py +377 -0
- stdferdowsim-0.1.0/stdferdowsim/catalog/TurNom/genome_data.py +14 -0
- stdferdowsim-0.1.0/stdferdowsim/catalog/TurNom/species.py +51 -0
- stdferdowsim-0.1.0/stdferdowsim/catalog/YazGua/__init__.py +6 -0
- stdferdowsim-0.1.0/stdferdowsim/catalog/YazGua/demographic_models.py +377 -0
- stdferdowsim-0.1.0/stdferdowsim/catalog/YazGua/genome_data.py +13 -0
- stdferdowsim-0.1.0/stdferdowsim/catalog/YazGua/species.py +51 -0
- stdferdowsim-0.1.0/stdferdowsim/catalog/ZalAlb/__init__.py +6 -0
- stdferdowsim-0.1.0/stdferdowsim/catalog/ZalAlb/demographic_models.py +377 -0
- stdferdowsim-0.1.0/stdferdowsim/catalog/ZalAlb/genome_data.py +14 -0
- stdferdowsim-0.1.0/stdferdowsim/catalog/ZalAlb/species.py +51 -0
- stdferdowsim-0.1.0/stdferdowsim/catalog/ZorPri/__init__.py +6 -0
- stdferdowsim-0.1.0/stdferdowsim/catalog/ZorPri/demographic_models.py +377 -0
- stdferdowsim-0.1.0/stdferdowsim/catalog/ZorPri/genome_data.py +14 -0
- stdferdowsim-0.1.0/stdferdowsim/catalog/ZorPri/species.py +51 -0
- stdferdowsim-0.1.0/stdferdowsim/catalog/__init__.py +8 -0
- stdferdowsim-0.1.0/stdferdowsim/citations.py +120 -0
- stdferdowsim-0.1.0/stdferdowsim/cli.py +1157 -0
- stdferdowsim-0.1.0/stdferdowsim/dfe.py +380 -0
- stdferdowsim-0.1.0/stdferdowsim/engines.py +334 -0
- stdferdowsim-0.1.0/stdferdowsim/genetic_maps.py +132 -0
- stdferdowsim-0.1.0/stdferdowsim/genomes.py +903 -0
- stdferdowsim-0.1.0/stdferdowsim/models.py +374 -0
- stdferdowsim-0.1.0/stdferdowsim/qc/__init__.py +1 -0
- stdferdowsim-0.1.0/stdferdowsim/selection.py +397 -0
- stdferdowsim-0.1.0/stdferdowsim/slim_engine.py +2074 -0
- stdferdowsim-0.1.0/stdferdowsim/species.py +381 -0
- stdferdowsim-0.1.0/stdferdowsim/utils.py +359 -0
- stdferdowsim-0.1.0/stdferdowsim/warning_categories.py +32 -0
- stdferdowsim-0.1.0/stdferdowsim.egg-info/PKG-INFO +219 -0
- stdferdowsim-0.1.0/stdferdowsim.egg-info/SOURCES.txt +433 -0
- stdferdowsim-0.1.0/stdferdowsim.egg-info/dependency_links.txt +1 -0
- stdferdowsim-0.1.0/stdferdowsim.egg-info/not-zip-safe +1 -0
- stdferdowsim-0.1.0/stdferdowsim.egg-info/requires.txt +27 -0
- stdferdowsim-0.1.0/stdferdowsim.egg-info/top_level.txt +1 -0
- stdferdowsim-0.1.0/tests/__init__.py +50 -0
- stdferdowsim-0.1.0/tests/conftest.py +106 -0
- stdferdowsim-0.1.0/tests/test_AedAeg.py +55 -0
- stdferdowsim-0.1.0/tests/test_AnaPla.py +178 -0
- stdferdowsim-0.1.0/tests/test_AnoCar.py +90 -0
- stdferdowsim-0.1.0/tests/test_AnoGam.py +79 -0
- stdferdowsim-0.1.0/tests/test_ApiMel.py +92 -0
- stdferdowsim-0.1.0/tests/test_AraTha.py +44 -0
- stdferdowsim-0.1.0/tests/test_BosTau.py +173 -0
- stdferdowsim-0.1.0/tests/test_CaeEle.py +113 -0
- stdferdowsim-0.1.0/tests/test_CanFam.py +166 -0
- stdferdowsim-0.1.0/tests/test_ChlRei.py +89 -0
- stdferdowsim-0.1.0/tests/test_DroMel.py +59 -0
- stdferdowsim-0.1.0/tests/test_DroSec.py +73 -0
- stdferdowsim-0.1.0/tests/test_EscCol.py +60 -0
- stdferdowsim-0.1.0/tests/test_GasAcu.py +98 -0
- stdferdowsim-0.1.0/tests/test_GorGor.py +99 -0
- stdferdowsim-0.1.0/tests/test_HelAnn.py +84 -0
- stdferdowsim-0.1.0/tests/test_HelMel.py +91 -0
- stdferdowsim-0.1.0/tests/test_HomSap.py +56 -0
- stdferdowsim-0.1.0/tests/test_MusMus.py +127 -0
- stdferdowsim-0.1.0/tests/test_OrySat.py +78 -0
- stdferdowsim-0.1.0/tests/test_PanTro.py +53 -0
- stdferdowsim-0.1.0/tests/test_PapAnu.py +96 -0
- stdferdowsim-0.1.0/tests/test_PhoSin.py +123 -0
- stdferdowsim-0.1.0/tests/test_PonAbe.py +118 -0
- stdferdowsim-0.1.0/tests/test_RatNor.py +124 -0
- stdferdowsim-0.1.0/tests/test_StrAga.py +60 -0
- stdferdowsim-0.1.0/tests/test_SusScr.py +138 -0
- stdferdowsim-0.1.0/tests/test_annotations.py +268 -0
- stdferdowsim-0.1.0/tests/test_cache.py +111 -0
- stdferdowsim-0.1.0/tests/test_citations.py +107 -0
- stdferdowsim-0.1.0/tests/test_cli.py +1141 -0
- stdferdowsim-0.1.0/tests/test_dfes.py +839 -0
- stdferdowsim-0.1.0/tests/test_engines.py +175 -0
- stdferdowsim-0.1.0/tests/test_genetic_maps.py +252 -0
- stdferdowsim-0.1.0/tests/test_genomes.py +519 -0
- stdferdowsim-0.1.0/tests/test_maintenance.py +98 -0
- stdferdowsim-0.1.0/tests/test_masking.py +153 -0
- stdferdowsim-0.1.0/tests/test_models.py +516 -0
- stdferdowsim-0.1.0/tests/test_slim_engine.py +3387 -0
- stdferdowsim-0.1.0/tests/test_species.py +419 -0
- stdferdowsim-0.1.0/tests/test_utils.py +552 -0
- stdferdowsim-0.1.0/validation.py +960 -0
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: Bug report
|
|
3
|
+
about: A problem with stdvoidsim
|
|
4
|
+
title:
|
|
5
|
+
labels:
|
|
6
|
+
assignees: ''
|
|
7
|
+
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
*This template is a suggestion that may not fit your issue: delete/modify anything!*
|
|
11
|
+
|
|
12
|
+
**Short description of the problem:**
|
|
13
|
+
*Describe what you are doing, what you think should happen, and what actually happens.*
|
|
14
|
+
|
|
15
|
+
**How to reproduce the problem:**
|
|
16
|
+
*If possible, post code (a [minimal working example](https://en.wikipedia.org/wiki/Minimal_working_example))
|
|
17
|
+
that reproduces the problem.*
|
|
18
|
+
|
|
19
|
+
**Suggested fixes:**
|
|
20
|
+
*If you have an idea of what's causing the problem or how to fix it, we'd like to hear it!*
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: DFE QC issue template
|
|
3
|
+
about: Quality control process for DFE addition
|
|
4
|
+
title: QC for {dfe_id} ({species})
|
|
5
|
+
labels: DFE QC
|
|
6
|
+
assignees: ''
|
|
7
|
+
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
**PR for new model:** {link to Pull Request}
|
|
11
|
+
**Original paper:** {ink to original paper}
|
|
12
|
+
**Parameter values:** {reference to where parameter values can be found}
|
|
13
|
+
|
|
14
|
+
**Potential issues that might lead to differences between the model implementations:**
|
|
15
|
+
{description of any potential issues}
|
|
16
|
+
|
|
17
|
+
**QC'er requests:** {tag potential developers to QC the model}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: Feature request
|
|
3
|
+
about: A suggestion for something to add to stdvoidsim.
|
|
4
|
+
title:
|
|
5
|
+
labels: enhancement
|
|
6
|
+
assignees: ''
|
|
7
|
+
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
*This template is a suggestion that may not fit your issue: delete/modify anything!*
|
|
11
|
+
|
|
12
|
+
**Short description of what you'd like added:**
|
|
13
|
+
*Describe briefly how you think stdvoidsim could be better.*
|
|
14
|
+
|
|
15
|
+
**Rationale and considerations:**
|
|
16
|
+
*Give some more explanation of why this is a good idea,
|
|
17
|
+
and what considerations there are in implementing it.
|
|
18
|
+
For instance: if you're suggesting that a new species, model, or map is added
|
|
19
|
+
then say who'd use the resource.
|
|
20
|
+
Or, if you're suggesting a new method in the API,
|
|
21
|
+
talk through the proposed arguments to the method and outputs.*
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: Model QC issue template
|
|
3
|
+
about: Quality control process for model addition
|
|
4
|
+
title: QC for {model_id} ({species})
|
|
5
|
+
labels: Model QC
|
|
6
|
+
assignees: ''
|
|
7
|
+
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
**PR for new model:** {link to Pull Request}
|
|
11
|
+
**Original paper:** {ink to original paper}
|
|
12
|
+
**Parameter values:** {reference to where parameter values can be found}
|
|
13
|
+
**Population indices:** {description of population indices}
|
|
14
|
+
|
|
15
|
+
**Potential issues that might lead to differences between the model implementations:**
|
|
16
|
+
{description of any potential issues}
|
|
17
|
+
|
|
18
|
+
**QC'er requests:** {tag potential developers to QC the model}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: New species
|
|
3
|
+
about: Adding a new species to the stdvoidsim catalogue.
|
|
4
|
+
title:
|
|
5
|
+
labels: enhancement
|
|
6
|
+
assignees: ''
|
|
7
|
+
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
- **Name:** scientific name of the species
|
|
11
|
+
- **Common name:**
|
|
12
|
+
|
|
13
|
+
**Description:** any other discussion or useful background? (optional)
|
|
14
|
+
|
|
15
|
+
*Note: Maybe you don't know a lot of the things below - but, that's OK!
|
|
16
|
+
The criteria are that (a) the choice is reasonable, and (b) the rationale is clear.
|
|
17
|
+
What we want is a "reasonable estimate" (or, "best guess") - if you were to use a number in a paper,
|
|
18
|
+
what would you use and how would you justify it to your collaborators?
|
|
19
|
+
For instance, for "generation time", best would be to cite a paper that actually measures
|
|
20
|
+
or estimates generation time. But most species don't have this;
|
|
21
|
+
next best would be to give a number used in the literature, and provide a citation that used it
|
|
22
|
+
(and hopefully the publication gives a justification also).
|
|
23
|
+
Lacking this, you might provide a number from a related species (and a citation for this).*
|
|
24
|
+
|
|
25
|
+
*Here is the checklist of things that we need to add a species to the catalogue.
|
|
26
|
+
Each thing should be provided, with a justification (maybe short) and a citation.*
|
|
27
|
+
|
|
28
|
+
**Demographic information:**
|
|
29
|
+
|
|
30
|
+
- [] generation time in years
|
|
31
|
+
- [] "default" population size
|
|
32
|
+
|
|
33
|
+
|
|
34
|
+
**Chromosome structure:**
|
|
35
|
+
|
|
36
|
+
*Note:* The assembly should be *chromosome-level*, i.e., not composed of thousands of scaffolds.
|
|
37
|
+
|
|
38
|
+
- [] ensembl assembly ID *or*, if the assembly is not in Ensembl, a list of chromosomes with *name* and *length* (in bp)
|
|
39
|
+
|
|
40
|
+
*Note: species in Ensembl can be found in one of these lists:
|
|
41
|
+
[vertebrates](https://uswest.ensembl.org/info/about/species.html),
|
|
42
|
+
["metazoa"](https://metazoa.ensembl.org/species.html),
|
|
43
|
+
[plants](https://plants.ensembl.org/species.html),
|
|
44
|
+
[fungi](https://fungi.ensembl.org/species.html),
|
|
45
|
+
[protists](http://protists.ensembl.org/species.html),
|
|
46
|
+
or [bacteria](http://bacteria.ensembl.org/species.html).*
|
|
47
|
+
|
|
48
|
+
|
|
49
|
+
**Recombination rates:**
|
|
50
|
+
|
|
51
|
+
- [] genetic map of recombination rates (as a hapmap or csv file)
|
|
52
|
+
- [] genome-wide mean recombination rate (which will be used as the default)
|
|
53
|
+
|
|
54
|
+
|
|
55
|
+
**Mutation rate:**
|
|
56
|
+
|
|
57
|
+
- [] genome-wide mean mutation rate
|
|
58
|
+
|
|
59
|
+
|
|
60
|
+
**Demographic model:**
|
|
61
|
+
|
|
62
|
+
- [] as a list of population sizes, growth rates, migration rates, etcetera. **(optional)**
|
|
63
|
+
- [] citation
|
|
64
|
+
|
|
65
|
+
|
|
66
|
+
**Other information:**
|
|
67
|
+
|
|
68
|
+
These are things we don't currently use, but will want to use in the future:
|
|
69
|
+
|
|
70
|
+
- [] sex determination system, and which chromosomes are the sex chromosome(s)
|
|
71
|
+
- [] ploidy
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: Species QC issue template
|
|
3
|
+
about: Quality control process for species addition
|
|
4
|
+
title: QC for {species}
|
|
5
|
+
labels: Species QC
|
|
6
|
+
assignees: ''
|
|
7
|
+
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
**PR for new species:** {link to Pull Request}
|
|
11
|
+
|
|
12
|
+
If you volunteer to QC this species, please use the checklist below.
|
|
13
|
+
While this list is intended to be comprehensive, it may not be exhaustive.
|
|
14
|
+
Where relevant, the QC reviewer should identify that parameter values match
|
|
15
|
+
those given in the linked citation(s).
|
|
16
|
+
|
|
17
|
+
The QC reviewer should start a pull request that fills out the test stubs
|
|
18
|
+
with independently obtained values. The reviewer may look at the python code
|
|
19
|
+
for rationale provided in comments, but should ignore the actual code
|
|
20
|
+
as much as possible - comments in the code should give enough information
|
|
21
|
+
that it's obvious how to get the correct value from the provided references.
|
|
22
|
+
(In particular, we shouldn't copy-paste the value from the code into the test!)
|
|
23
|
+
|
|
24
|
+
- [ ] Recombination rate.
|
|
25
|
+
- This might be genome-wide, or per-chromosome. Both are fine.
|
|
26
|
+
- Check there's a comment describing where it came from, and/or how calculated.
|
|
27
|
+
- From a publication? Check the value(s) match the publication.
|
|
28
|
+
- Calculated somehow? Average over a recombination/genetic map? Redo the calculation.
|
|
29
|
+
- [ ] Mutation rate.
|
|
30
|
+
- This might be genome-wide, or per-chromosome. Both are fine.
|
|
31
|
+
- Check there's a comment describing where it came from, and/or how calculated.
|
|
32
|
+
- From a publication? Check the value(s) match the publication.
|
|
33
|
+
- Calculated somehow? Redo the calculation.
|
|
34
|
+
- [ ] Recombination/genetic map (if present).
|
|
35
|
+
- Does it match the assembly? Liftover is fine, if clearly stated.
|
|
36
|
+
- Is the description/long_description a good summary of how the map was created?
|
|
37
|
+
- [ ] Population size.
|
|
38
|
+
- [ ] Generation time.
|
|
39
|
+
|
|
40
|
+
For each citation, check:
|
|
41
|
+
- Doi link.
|
|
42
|
+
- Is publication a preprint? Is there a peer-reviewed publication instead?
|
|
43
|
+
- Is the year correct.
|
|
44
|
+
- Is the author correct (spelling, accents/ligatures/etc.)
|
|
45
|
+
|
|
46
|
+
Citations are required for:
|
|
47
|
+
- [ ] Genome reference assembly.
|
|
48
|
+
- [ ] Mutation rate.
|
|
49
|
+
- [ ] Recombination rate.
|
|
50
|
+
- [ ] Recombination/genetic map(s) (if relevant).
|
|
51
|
+
- [ ] Population size.
|
|
52
|
+
- [ ] Generation time.
|
|
53
|
+
|
|
54
|
+
The final PR should:
|
|
55
|
+
- [ ] fill out the test stubs
|
|
56
|
+
- [ ] delete the `pytest.mark.skip` lines that make the tests not run
|
|
57
|
+
- [ ] make sure they pass, talking to the original author to figure out discrepancies
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
queue_rules:
|
|
2
|
+
- name: default
|
|
3
|
+
conditions:
|
|
4
|
+
- base=main
|
|
5
|
+
- check-success=build-deploy-docs
|
|
6
|
+
- check-success=pre-commit
|
|
7
|
+
- check-success=tests (ubuntu-20.04, 3.7)
|
|
8
|
+
- check-success=tests (ubuntu-20.04, 3.10)
|
|
9
|
+
- check-success=tests (macos-11, 3.7)
|
|
10
|
+
- check-success=tests (macos-11, 3.10)
|
|
11
|
+
- check-success=tests (windows-latest, 3.7)
|
|
12
|
+
- check-success=tests (windows-latest, 3.10)
|
|
13
|
+
- check-success=codecov/patch
|
|
14
|
+
- check-success=codecov/project
|
|
15
|
+
|
|
16
|
+
pull_request_rules:
|
|
17
|
+
- name: automatic merge for Dependabot pull requests
|
|
18
|
+
conditions:
|
|
19
|
+
- base=main
|
|
20
|
+
- author~=^dependabot(|-preview)\[bot\]$
|
|
21
|
+
- label=dependencies
|
|
22
|
+
- check-success=build-deploy-docs
|
|
23
|
+
- check-success=pre-commit
|
|
24
|
+
- check-success=tests (ubuntu-20.04, 3.7)
|
|
25
|
+
- check-success=tests (ubuntu-20.04, 3.10)
|
|
26
|
+
- check-success=tests (macos-10.15, 3.7)
|
|
27
|
+
- check-success=tests (macos-10.15, 3.10)
|
|
28
|
+
- check-success=tests (windows-latest, 3.7)
|
|
29
|
+
- check-success=tests (windows-latest, 3.10)
|
|
30
|
+
- check-success=codecov/patch
|
|
31
|
+
- check-success=codecov/project
|
|
32
|
+
actions:
|
|
33
|
+
queue:
|
|
34
|
+
name: default
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
name: Build and deploy docs
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
pull_request:
|
|
5
|
+
push:
|
|
6
|
+
branches: [main]
|
|
7
|
+
tags:
|
|
8
|
+
- '*'
|
|
9
|
+
|
|
10
|
+
# Allow the deploy job to write to the repo (e.g. gh-pages).
|
|
11
|
+
permissions:
|
|
12
|
+
contents: read
|
|
13
|
+
pages: write
|
|
14
|
+
id-token: write
|
|
15
|
+
|
|
16
|
+
# Only one concurrent deployment
|
|
17
|
+
concurrency:
|
|
18
|
+
group: "pages"
|
|
19
|
+
cancel-in-progress: true
|
|
20
|
+
|
|
21
|
+
jobs:
|
|
22
|
+
# Only run in the main repo; skip in forks or other repos (e.g. stdvoidsim-docs) to avoid 404 on checkout.
|
|
23
|
+
build:
|
|
24
|
+
if: github.repository == 'kevinkorfmann/stdvoidsim'
|
|
25
|
+
runs-on: ubuntu-24.04
|
|
26
|
+
steps:
|
|
27
|
+
- uses: actions/checkout@v4
|
|
28
|
+
with:
|
|
29
|
+
fetch-depth: 0
|
|
30
|
+
|
|
31
|
+
- uses: actions/setup-python@v5
|
|
32
|
+
with:
|
|
33
|
+
python-version: "3.10"
|
|
34
|
+
|
|
35
|
+
- name: Install deps
|
|
36
|
+
run: |
|
|
37
|
+
python -m pip install wheel
|
|
38
|
+
python -m pip install -r requirements/CI/requirements.txt
|
|
39
|
+
python -m pip install .
|
|
40
|
+
|
|
41
|
+
- name: Build Docs
|
|
42
|
+
run: make -C docs
|
|
43
|
+
|
|
44
|
+
- name: Upload artifact
|
|
45
|
+
if: (!github.event.pull_request)
|
|
46
|
+
uses: actions/upload-pages-artifact@v3
|
|
47
|
+
with:
|
|
48
|
+
path: docs/_build/html
|
|
49
|
+
|
|
50
|
+
# Uncomment the deploy job and enable Pages (Settings → Pages → Source: GitHub Actions) to publish docs.
|
|
51
|
+
# deploy:
|
|
52
|
+
# if: (!github.event.pull_request) && github.repository == 'kevinkorfmann/stdvoidsim'
|
|
53
|
+
# needs: build
|
|
54
|
+
# runs-on: ubuntu-24.04
|
|
55
|
+
# environment:
|
|
56
|
+
# name: github-pages
|
|
57
|
+
# url: ${{ steps.deploy.outputs.page_url }}
|
|
58
|
+
# steps:
|
|
59
|
+
# - id: deploy
|
|
60
|
+
# uses: actions/deploy-pages@v4
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
name: pre-commit
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
push:
|
|
5
|
+
branches: [ main ]
|
|
6
|
+
pull_request:
|
|
7
|
+
branches: [ main ]
|
|
8
|
+
|
|
9
|
+
jobs:
|
|
10
|
+
pre-commit:
|
|
11
|
+
runs-on: ubuntu-24.04
|
|
12
|
+
steps:
|
|
13
|
+
- uses: actions/checkout@v4
|
|
14
|
+
- uses: actions/setup-python@v5
|
|
15
|
+
with:
|
|
16
|
+
python-version: 3.12
|
|
17
|
+
- uses: pre-commit/action@v3.0.1
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
# Publish stdferdowsim to PyPI when a version tag (v*.*.*) is pushed.
|
|
2
|
+
# Uses PyPI Trusted Publishing (OIDC); no API token needed.
|
|
3
|
+
# Configure the publisher at https://pypi.org/manage/project/stdferdowsim/settings/publishing/
|
|
4
|
+
# Then: git tag v0.1.0 && git push origin v0.1.0
|
|
5
|
+
name: Publish to PyPI
|
|
6
|
+
|
|
7
|
+
on:
|
|
8
|
+
push:
|
|
9
|
+
tags:
|
|
10
|
+
- "v*.*.*"
|
|
11
|
+
|
|
12
|
+
jobs:
|
|
13
|
+
build-and-publish:
|
|
14
|
+
runs-on: ubuntu-latest
|
|
15
|
+
permissions:
|
|
16
|
+
id-token: write # required for Trusted Publishing
|
|
17
|
+
steps:
|
|
18
|
+
- name: Checkout
|
|
19
|
+
uses: actions/checkout@v4
|
|
20
|
+
with:
|
|
21
|
+
fetch-depth: 0 # needed for setuptools_scm to get version from tag
|
|
22
|
+
|
|
23
|
+
- name: Set up Python
|
|
24
|
+
uses: actions/setup-python@v5
|
|
25
|
+
with:
|
|
26
|
+
python-version: "3.12"
|
|
27
|
+
|
|
28
|
+
- name: Install build dependencies
|
|
29
|
+
run: |
|
|
30
|
+
python -m pip install --upgrade pip
|
|
31
|
+
pip install build
|
|
32
|
+
|
|
33
|
+
- name: Build package
|
|
34
|
+
run: python -m build
|
|
35
|
+
|
|
36
|
+
- name: Publish to PyPI
|
|
37
|
+
uses: pypa/gh-action-pypi-publish@release/v1
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
name: tests
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
push:
|
|
5
|
+
branches: [ main ]
|
|
6
|
+
pull_request:
|
|
7
|
+
branches: [ main ]
|
|
8
|
+
|
|
9
|
+
jobs:
|
|
10
|
+
tests:
|
|
11
|
+
runs-on: ${{ matrix.os }}
|
|
12
|
+
defaults:
|
|
13
|
+
run:
|
|
14
|
+
shell: bash
|
|
15
|
+
strategy:
|
|
16
|
+
fail-fast: false
|
|
17
|
+
matrix:
|
|
18
|
+
os: [ubuntu-24.04, macos-latest, windows-latest]
|
|
19
|
+
python: ["3.10", "3.12"]
|
|
20
|
+
env:
|
|
21
|
+
CONDA_ENV_NAME: stdvoidsim
|
|
22
|
+
OS: ${{ matrix.os }}
|
|
23
|
+
PYTHON: ${{ matrix.python }}
|
|
24
|
+
steps:
|
|
25
|
+
- name: cancel previous runs
|
|
26
|
+
uses: styfle/cancel-workflow-action@0.12.1
|
|
27
|
+
with:
|
|
28
|
+
access_token: ${{ github.token }}
|
|
29
|
+
|
|
30
|
+
- name: checkout
|
|
31
|
+
uses: actions/checkout@v4.2.2
|
|
32
|
+
|
|
33
|
+
- name: Cache conda and dependencies
|
|
34
|
+
id: cache
|
|
35
|
+
uses: actions/cache@v4.2.0
|
|
36
|
+
env:
|
|
37
|
+
# Increase this to reset the cache if the key hasn't changed.
|
|
38
|
+
CACHE_NUM: 0
|
|
39
|
+
with:
|
|
40
|
+
path: ${{ env.CONDA }}/envs
|
|
41
|
+
key: ${{ runner.os }}-${{ runner.arch }}-${{ matrix.python}}-conda-${{ env.CACHE_NUM }}-${{ hashFiles('requirements/CI/*') }}
|
|
42
|
+
|
|
43
|
+
- name: Install Conda
|
|
44
|
+
uses: conda-incubator/setup-miniconda@v3.1.0
|
|
45
|
+
if: steps.cache.outputs.cache-hit != 'true'
|
|
46
|
+
with:
|
|
47
|
+
activate-environment: anaconda-client-env
|
|
48
|
+
python-version: ${{ matrix.python }}
|
|
49
|
+
channels: conda-forge
|
|
50
|
+
channel-priority: strict
|
|
51
|
+
auto-update-conda: true
|
|
52
|
+
|
|
53
|
+
- name: Fix windows .profile
|
|
54
|
+
if: steps.cache.outputs.cache-hit != 'true' && matrix.os == 'windows-latest'
|
|
55
|
+
run: |
|
|
56
|
+
cp ~/.bash_profile ~/.profile
|
|
57
|
+
|
|
58
|
+
- name: Install conda deps
|
|
59
|
+
if: steps.cache.outputs.cache-hit != 'true'
|
|
60
|
+
shell: bash -l {0} #We need a login shell to get conda
|
|
61
|
+
run: |
|
|
62
|
+
conda install --yes --file=requirements/CI/conda.txt
|
|
63
|
+
|
|
64
|
+
- name: Install pip deps
|
|
65
|
+
if: steps.cache.outputs.cache-hit != 'true'
|
|
66
|
+
shell: bash -l {0}
|
|
67
|
+
run: |
|
|
68
|
+
pip install -r requirements/CI/requirements.txt
|
|
69
|
+
|
|
70
|
+
- name: run test suite
|
|
71
|
+
run: |
|
|
72
|
+
source ~/.profile
|
|
73
|
+
conda activate anaconda-client-env
|
|
74
|
+
python -m pytest \
|
|
75
|
+
-n 0 \
|
|
76
|
+
-v \
|
|
77
|
+
--cov=stdvoidsim \
|
|
78
|
+
--cov-branch \
|
|
79
|
+
--cov-report=term-missing \
|
|
80
|
+
--cov-report=xml \
|
|
81
|
+
tests
|
|
82
|
+
|
|
83
|
+
- name: upload coverage report to codecov
|
|
84
|
+
uses: codecov/codecov-action@v5.1.1
|
|
85
|
+
with:
|
|
86
|
+
fail_ci_if_error: true
|
|
87
|
+
env_vars: OS,PYTHON
|
|
88
|
+
# Use upload token to avoid upload failures.
|
|
89
|
+
# https://github.com/codecov/codecov-action/issues/837
|
|
90
|
+
token: 8ae76ade-9d0e-4a2d-b9ef-1180235be07f
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
__pycache__
|
|
2
|
+
stdferdowsim/_version.py
|
|
3
|
+
docs/_build
|
|
4
|
+
docs/parameter_images
|
|
5
|
+
.*.swp
|
|
6
|
+
build
|
|
7
|
+
dist
|
|
8
|
+
stdvoidsim.egg-info
|
|
9
|
+
.coverage
|
|
10
|
+
htmlcov
|
|
11
|
+
_test_cache
|
|
12
|
+
test_cache
|
|
13
|
+
.manuscript
|
|
14
|
+
.test/*
|
|
15
|
+
!.test/run_slim_test.py
|
|
16
|
+
!.test/run_simulation.py
|
|
17
|
+
!.test/README.txt
|
|
18
|
+
!.test/run_cli_test.sh
|
|
19
|
+
!.test/install_and_run.sh
|
|
20
|
+
*.pyc
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
# .readthedocs.yml
|
|
2
|
+
# Read the Docs configuration file
|
|
3
|
+
# See https://docs.readthedocs.io/en/stable/config-file/v2.html for details
|
|
4
|
+
|
|
5
|
+
# Required
|
|
6
|
+
version: 2
|
|
7
|
+
|
|
8
|
+
build:
|
|
9
|
+
os: ubuntu-22.04
|
|
10
|
+
tools:
|
|
11
|
+
python: "mambaforge-23.11"
|
|
12
|
+
jobs:
|
|
13
|
+
post_checkout:
|
|
14
|
+
- git fetch --unshallow || true
|
|
15
|
+
|
|
16
|
+
sphinx:
|
|
17
|
+
builder: html
|
|
18
|
+
configuration: docs/conf.py
|
|
19
|
+
fail_on_warning: false
|
|
20
|
+
|
|
21
|
+
conda:
|
|
22
|
+
environment: requirements/rtd-conda-environment.yml
|
|
23
|
+
|
|
24
|
+
python:
|
|
25
|
+
# Install the local package using pip so that stdferdowsim is in the path.
|
|
26
|
+
install:
|
|
27
|
+
- method: pip
|
|
28
|
+
path: .
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
stdvoidsim – install and use (hidden test dir)
|
|
2
|
+
|
|
3
|
+
Install (from repo root):
|
|
4
|
+
pip install -e .
|
|
5
|
+
|
|
6
|
+
Or use the script (creates .test/venv and installs there):
|
|
7
|
+
.test/install_and_run.sh
|
|
8
|
+
|
|
9
|
+
Use (Python):
|
|
10
|
+
import stdvoidsim
|
|
11
|
+
species = stdvoidsim.get_species("DagHyd") # Deep Ones
|
|
12
|
+
model = species.get_demographic_model("InnsmouthDecline_1M27")
|
|
13
|
+
contig = species.get_contig(length=10_000)
|
|
14
|
+
engine = stdvoidsim.get_default_engine()
|
|
15
|
+
ts = engine.simulate(model, contig, {"DeepOnes": 4})
|
|
16
|
+
print(ts.num_trees, ts.num_sites)
|
|
17
|
+
|
|
18
|
+
Use (CLI):
|
|
19
|
+
stdvoidsim DagHyd -d InnsmouthDecline_1M27 -L 10000 -o out.trees DeepOnes:4
|
|
20
|
+
|
|
21
|
+
Run the test script (from repo root, after install):
|
|
22
|
+
python .test/run_simulation.py
|
|
23
|
+
# or: .test/install_and_run.sh
|
|
24
|
+
|
|
25
|
+
Run SLiM engine test (script generation + optional run; diploid species only):
|
|
26
|
+
python .test/run_slim_test.py
|
|
27
|
+
# Script generation works without SLiM. Actual run requires SLiM on PATH (SLiM 3.x recommended; 4.x may need engine updates).
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
#!/usr/bin/env bash
|
|
2
|
+
# From repo root: create venv, install stdgrimmsim, then run the test script.
|
|
3
|
+
set -e
|
|
4
|
+
cd "$(dirname "$0")/.."
|
|
5
|
+
TESTDIR=".test"
|
|
6
|
+
if [ ! -d "$TESTDIR/venv" ]; then
|
|
7
|
+
echo "Creating venv in $TESTDIR/venv ..."
|
|
8
|
+
python3 -m venv "$TESTDIR/venv"
|
|
9
|
+
fi
|
|
10
|
+
echo "Activating venv and installing stdgrimmsim (editable)..."
|
|
11
|
+
source "$TESTDIR/venv/bin/activate"
|
|
12
|
+
pip install -e . -q
|
|
13
|
+
echo "Running simulation test..."
|
|
14
|
+
python "$TESTDIR/run_simulation.py"
|
|
15
|
+
deactivate 2>/dev/null || true
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
#!/usr/bin/env bash
|
|
2
|
+
# Run stdgrimmsim CLI (requires venv: run install_and_run.sh first, or have stdgrimmsim on PATH).
|
|
3
|
+
set -e
|
|
4
|
+
cd "$(dirname "$0")/.."
|
|
5
|
+
if [ -d ".test/venv" ]; then
|
|
6
|
+
source .test/venv/bin/activate
|
|
7
|
+
fi
|
|
8
|
+
stdgrimmsim DagHyd -d InnsmouthDecline_1M27 -L 5000 -o .test/out.trees DeepOnes:4
|
|
9
|
+
echo "Wrote .test/out.trees"
|
|
10
|
+
python3 -c "import tskit; ts=tskit.load('.test/out.trees'); print(' Trees:', ts.num_trees, 'Sites:', ts.num_sites)"
|
|
11
|
+
rm -f .test/out.trees
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
#!/usr/bin/env python3
|
|
2
|
+
"""Quick test: load stdferdowsim and run tiny simulations for several models."""
|
|
3
|
+
import sys
|
|
4
|
+
from pathlib import Path
|
|
5
|
+
|
|
6
|
+
# Allow running from repo root without installing (add parent to path)
|
|
7
|
+
repo = Path(__file__).resolve().parent.parent
|
|
8
|
+
if str(repo) not in sys.path:
|
|
9
|
+
sys.path.insert(0, str(repo))
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
def run_one(engine, species_id, model_id, samples, length=5000, seed=42):
|
|
13
|
+
import stdferdowsim
|
|
14
|
+
species = stdferdowsim.get_species(species_id)
|
|
15
|
+
model = species.get_demographic_model(model_id)
|
|
16
|
+
contig = species.get_contig(length=length)
|
|
17
|
+
ts = engine.simulate(model, contig, samples, seed=seed)
|
|
18
|
+
return ts
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
def main():
|
|
22
|
+
import stdferdowsim
|
|
23
|
+
|
|
24
|
+
engine = stdferdowsim.get_default_engine()
|
|
25
|
+
tests = [
|
|
26
|
+
("ZweBerg", "BlackForest_1D12", {"BlackForest": 4}, "Mountain Dwarves"),
|
|
27
|
+
("ZweBerg", "HarzBlackForest_2D12", {"BlackForest": 2, "Harz": 2}, "Dwarves two-pop"),
|
|
28
|
+
("NixRhe", "Rhine_1D12", {"Rhine": 4}, "Nix (Rhine)"),
|
|
29
|
+
("FraHol", "WellRealm_1D12", {"WellRealm": 4}, "Frau Holle"),
|
|
30
|
+
("SchWar", "BlackForest_1D12", {"NorthBlackForest": 4}, "Black Forest spirit"),
|
|
31
|
+
]
|
|
32
|
+
|
|
33
|
+
for species_id, model_id, samples, label in tests:
|
|
34
|
+
print(f"{label} ({species_id} / {model_id})")
|
|
35
|
+
try:
|
|
36
|
+
ts = run_one(engine, species_id, model_id, samples)
|
|
37
|
+
print(f" Trees: {ts.num_trees}, Sites: {ts.num_sites}, Samples: {ts.num_samples}")
|
|
38
|
+
except Exception as e:
|
|
39
|
+
print(f" FAIL: {e}")
|
|
40
|
+
print("Done")
|
|
41
|
+
|
|
42
|
+
if __name__ == "__main__":
|
|
43
|
+
main()
|