You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Installer bash script for easy installation on Linux.
filter-gaps command to remove columns that contain a % of gaps. Translation is disabled if a gap filter is active
and vice-versa
libmsa lib crate to handle alignment parsing and manipulation
mouse selection now selects the full AA codon in the translated view
Ruler markers to indicate filtered columns. An arrow on the ruler will point to a location where 1 or core columns
have been removed due to filters. ~ characters will mark a region where lots of columns have been filtered and would
be too crowded to render lots of arrows. You might expect big jumps in absolute positions in these regions.
Total length is now displayed on the top status bar
Improved filter text in the bottom status bar, which shows the number of filtered rows/columns and the filter
parameters (e.g. gap percentage or regex pattern)
Human panic messages
Changed
Moved core alignment functions to libmsa
Each status bar has separation of concerns for a more consistent UI. The top bar is for "global" concerns, i.e number
of alignments, visible region etc
The bottom bar is for "local" concerns, i.e the current selected position and sequence
Under the hood changes to how the caching worked - now cache mantains blocks of 5000nts instead of moving window +
region. This simplifies the handling and makes it easier to cache new metrics in the future.
Renamed set-filter to filter-rows to be explicit what it does
Renamed full alignment type to generic
Renamed aa type to protein
jump-position will jump to next visible position if the provided position is filtered out
You can now middle mouse pan while minimap is open
Most app errors now raise notifications on the bottom bar
Removed
Removed musl builds due to the complexity of supporting OpenSSL
Fixed
Further omptimised dist build profile
Removed the need for vendored OpenSSL
Together with the previous optimisations, this reduces the dist binary size from 13mb to 6.9mb
Conservation in translated view now shows conservation of the amino acid in that position
Install salti 0.8.0
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/Sam-Sims/salti/releases/download/salti-0.8.0/salti-installer.sh | sh
Self update check on startup, with a notification in the status bar if an update is available. This checks the latest
release on crates.io and compares it to the current version. It does not automatically download or install updates.
check-update command to manually trigger an update check.
Under the hood a more general notification system, which can be used for other types of notifications in the future.
Currently it is only used for update notifications and command palette errors.
Changed
Command errors use the new notification system for display errors.
Minimap for easy panning along the length of the alignment. Press m to open and click and drag to move around. The
minimap colours are created by sampling the alignment in regions and picking the most common colour.
Full sequence type. This adds support for the full, renderable ASCII alphabet - which enables support for arbitrary
alignments. Salti will still try and infer the file type, but now samples both NT characters and AA characters. The
most prevalent "wins". If none meet the threshold it falls back to the Full mode. Full is also manually
toggleable.
This introduced a new colour palette for full, which is hard-set across every theme. In full mode only the UI
elements will change with the theme.
Note in Full mode conservation + translation is disabled.
Fixed
toggle-translate now returns a visible error message when sequence type is not DNA
Note: 0.5.0 musl builds failed due to missing libssl depdendency- which has been fixed in 0.5.1. This means 0.5.0 is missing a release
Release Notes
Added
set-diff-mode command that replaces the previous 2 commands toggle-reference-diff and toggle-consensus-diff. It supports the same 3 modes as before: off, reference, and consensus.
tokyo-night theme, available via set-theme tokyo-night.
solarized-light theme, available via set-theme solarized-light.
terminal-default theme, which uses terminal-provided ANSI colours and defaults, available via set-theme terminal-default.
Support loading alignments over HTTP/HTTPS, by providing a URL to the load command, e.g. :load https://example.com/alignment.fasta.
Support for compressed input files - just provide the gzipped file as input, e.g. alignment.fasta.gz.
Supported compression formats are gz, zstd, lzma, bz2 and bgz
Support for loading alignments via SSH e.g :load ssh://user@host/path/to/alignment.fasta
Changed
Switch from needletail to paraseq for fasta parsing. This enables a lot of great features such as compressed file support (thanks to niffler too!), and native HTTP/HTTPS and SSH loading.
Although it supports parallel processing - salti uses the single threaded API at the moment, for the above features.
Conservation bar chart rendering in the consensus pane. The calculation algorithim is the same as Jbrowse MSA - that is to say that it is calculated as shannon entropy of the column, normalised to [0,1] by max entropy for the column's symbol count (e.g. 4 for DNA, 20 for AA).
Changed
Reworked async handling into a more unified system for both consensus and conservation.
File loading is now an App command, not Core.
Rendering now redraws on state changes only, rather than every frame tick.
Refined the UI, removed the outer frame border, and converted status lines into dedicated top/bottom bars. This removed the double borders around the app, and hopefully gives a cleaner feel.
Fixed
Mouse selection now functions correctly in the pinned rows area (previously pinned sequences were not selectable).