{"id":50718672,"url":"https://github.com/husonlab/phylosketch-app","last_synced_at":"2026-06-09T21:30:46.487Z","repository":{"id":65527098,"uuid":"554291817","full_name":"husonlab/phylosketch-app","owner":"husonlab","description":"PhyloSketch App for iOS and Android","archived":false,"fork":false,"pushed_at":"2023-11-20T07:19:20.000Z","size":3048,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2023-11-20T08:33:42.745Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/husonlab.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2022-10-19T15:07:53.000Z","updated_at":"2022-10-23T07:40:21.000Z","dependencies_parsed_at":"2023-11-20T08:42:42.244Z","dependency_job_id":null,"html_url":"https://github.com/husonlab/phylosketch-app","commit_stats":null,"previous_names":[],"tags_count":0,"template":null,"template_full_name":null,"purl":"pkg:github/husonlab/phylosketch-app","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/husonlab%2Fphylosketch-app","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/husonlab%2Fphylosketch-app/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/husonlab%2Fphylosketch-app/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/husonlab%2Fphylosketch-app/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/husonlab","download_url":"https://codeload.github.com/husonlab/phylosketch-app/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/husonlab%2Fphylosketch-app/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34127342,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-09T02:00:06.510Z","response_time":63,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2026-06-09T21:30:45.742Z","updated_at":"2026-06-09T21:30:46.482Z","avatar_url":"https://github.com/husonlab.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# PhyloSketch App\n\nThis is going to be a reimplementation of my [PhyloSketch desktop program](https://uni-tuebingen.de/fakultaeten/mathematisch-naturwissenschaftliche-fakultaet/fachbereiche/informatik/lehrstuehle/algorithms-in-bioinformatics/software/phylosketch/) that will target iOS and Android.\nThis is my first attempt to write an app for mobile devices.\n\nThe app allows the user to interactively construct a phylogenetic tree or network and then save it to Newick format. Also, it will allow the user to enter a string in Newick format and obtain a visualization of the corresponding rooted phylogenetic tree or network, which then can be edited. The app will display some of the mathematical properties of the tree or network.\n\nThe basic framework for this code was generated using\nthe [Gluon Intellij plugin](https://plugins.jetbrains.com/plugin/7864-gluon).\n\nThis readme is not intended for the end-user of the app, but rather outlines issues associated with implementing a Java+JavaFX using the Gluon framework that targets iOS and Android.\n\n## Basic Requirements\n\nA list of the basic requirements can be found online in\nthe [Gluon documentation](https://docs.gluonhq.com/#_requirements).\n\n### JLODA library required\n\nThis project requires the jloda library to be present, available [here](https://github.com/husonlab/jloda2). As jloda is\nnot available via maven, you need to build jloda.jar from source and then place it in your local maven repository.\n\n## Instructions for working with the code in Intellij\n\nYou can run the project from within Intellij as usual. This is the best way to do basic development and debugging. To\ntest different aspects of the code running as a mobile app, you can type one of the following maven commands into the\nIntellij terminal window. The commands that generate a native image for a mobile device take much longer to complete.\n\n### Run the program on JVM/HotSpot\n\n    mvn gluonfx:run\n\n### Run the program as a native image\n\n    mvn gluonfx:build gluonfx:nativerun\n\nThis doesn't work for me on MacOS X, I get this exception:\n\n    *** Assertion failure in -[_NSTrackingAreaAKViewHelper removeTrackingRect:], _NSTrackingAreaAKManager.m:1602\n\n### Run the program on an iOS simulator\n\nFirst, you need to launch the iOS simulator from the Tools menu of XCode. Then the following maven command will install\nand run the app in the simulator:\n\n    mvn -Pios-sim gluonfx:build gluonfx:package gluonfx:install gluonfx:nativerun\n\nAdding code for printing breaks this.\n\n### Run the program as a native iOS image\n\nBefore you can run on a native iOS image on an iOS device, there are several configuration steps that one must go\nthrough, involving setting up a corresponding xCode project and setting up \"provisioning\",\ndescribed [here](https://docs.gluonhq.com/#platforms_ios). It may be that you require an Apple Developer account for\nthis to work.\n\n    mvn -Pios gluonfx:build gluonfx:package gluonfx:install gluonfx:nativerun\n\n### Run the program as a native Android image\n\nUnfortunately, I have not got this to work yet...\n\n    mvn -Pandroid gluonfx:build gluonfx:package gluonfx:install gluonfx:nativerun\n\n### Use this command to list values of maven properties\n\n    mvn help:evaluate -Dexpression=project.properties\n\n### Preparation for building desktop installers using install4j\n\nBefore using install4j to build installers for Linux, MacOS and Windows, run the following command to build a jar and to\ncopy all non-JavaFX jars into the directory target/dependency:\n\n    mvn clean package\n\n### Editing FMXL files can cause problems\n\nWhen adding controls to an FXML file, remember to add the corresponding classes to the reflectionList in the pom.xml\nfile. If you don't, then the program might fail with an exception indicating that \"type coercion failed\", or some other\nproblem.\n\n## Selected features\n\nThis is a list of all the features that were selected when creating the project using the Gluon plugin:\n\n### JavaFX Modules\n\n - javafx-base\n - javafx-graphics\n - javafx-controls\n\n### Gluon Features\n\n - Glisten: build platform independent user interfaces\n - Attach display\n - Attach lifecycle\n - Attach statusbar\n - Attach storage\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhusonlab%2Fphylosketch-app","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhusonlab%2Fphylosketch-app","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhusonlab%2Fphylosketch-app/lists"}