Skip to content

Latest commit

 

History

8 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

torchseed

License: GPL v3

A modern graphical interface for configuring and generating JSON configuration files for torchtree using Streamlit.

torchseed provides an interactive workflow inspired by tools such as BEAUTI (BEAST), allowing users to build phylogenetic analyses visually without manually editing JSON configuration files.


Features

  • Interactive GUI for building torchtree analyses
  • Automatic JSON configuration generation
  • Dynamic parameter panels that update according to selected models
  • Support for common phylogenetic components:
    • Site models: Discretized Weibull, proportion of invariant sites
    • Substitution models
      • Nucleotide: JC69, HKY, K80, GTR
      • Protein: LG, WAG
    • Clock models: Strict, one rate per branch
    • Tree priors
      • Unrooted tree: Exponential distribution
      • Coalescent: constant, exponential, skyride, skygrid, skyglide
    • Parametric priors: editable
    • Variational inference configuration
  • Real-time parameter validation
  • Interactive visualisations with Plotly
  • Table and summary displays using Pandas
  • Extensible architecture for adding new models and plugins
  • Streamlit-based responsive interface

Technology Stack

Built with:


Installation

Clone the repository

git clone https://github.com/4ment/torchseed.git
cd torchseed

Create the Conda environment

conda env create -f environment.yml
conda activate torchseed

Running the Application

Start the Streamlit app with:

streamlit run torchseed/app.py

The application will automatically open in your browser.


Example Workflow

  1. Import sequence alignments
  2. Select and configure tip dates
  3. Import tree
  4. Select a site and substitution models
  5. Select clock models if needed
  6. Specify priors
  7. Configure ADVI
  8. Preview the generated JSON configuration
  9. Export the configuration file
  10. Run the analysis using torchtree

Project Structure

torchseed/
│
├──torchseed/
│  ├── app.py                  # Streamlit entry point
│  ├── tabs/                   # Multi-page application views
│  └── builders/               # Build JSON components
│
├── requirements.txt
├── environment.yml
└── README.md

Roadmap

  • Alignment import wizard
  • Tree visualisation
  • Session save/load support
  • Prior distribution visualisation
  • Plugin architecture
  • YAML export support
  • Analysis templates
  • Direct integration with torchtree execution

Contributing

Contributions and feature requests are welcome.

  1. Fork the repository
  2. Create a feature branch
  3. Commit your changes
  4. Open a pull request

License

Distributed under the GPLv3 License. See LICENSE for more information.


Acknowledgements

  • torchtree
  • BEAST 2
  • Streamlit

About

A GUI for torchtree

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages