Skip to content

Commit fab552f

Browse files
committed
v2.12.0
1 parent 76a9398 commit fab552f

42 files changed

Lines changed: 95 additions & 63 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

CHANGELOG.md

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,13 @@
1-
- [SeqKit v2.12.0](https://github.com/shenwei356/seqkit/releases/tag/v2.12.0) - 2025-xx-xx
1+
- [SeqKit v2.12.0](https://github.com/shenwei356/seqkit/releases/tag/v2.12.0) - 2025-12-04
22
[![Github Releases (by Release)](https://img.shields.io/github/downloads/shenwei356/seqkit/v2.12.0/total.svg)](https://github.com/shenwei356/seqkit/releases/tag/v2.12.0)
33
- `seqkit grep`:
44
- `-p/--pattern` accepts empty charactor (`""`) now. So it's able to **search records with empty IDs or sequences**. [#558](https://github.com/shenwei356/seqkit/issues/558)
55
- `seqkit split2`:
66
- fix a bug introduced in v2.11.0: `--by-part-prefix` options has no effect. [#554](https://github.com/shenwei356/seqkit/issues/554)
77
- `seqkit replace`:
88
- `{uuid}`: use the time-sortable UUIDv7 to replace v4.
9+
- `seqkit stats/fx2tab`:
10+
- add information about how the average quality is computed. [#448](https://github.com/shenwei356/seqkit/issues/448)
911
- [SeqKit v2.11.0](https://github.com/shenwei356/seqkit/releases/tag/v2.11.0) - 2025-11-20
1012
[![Github Releases (by Release)](https://img.shields.io/github/downloads/shenwei356/seqkit/v2.11.0/total.svg)](https://github.com/shenwei356/seqkit/releases/tag/v2.11.0)
1113
- `seqkit`:

doc/docs/download.md

Lines changed: 29 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -10,30 +10,27 @@ Wei Shen\*, Botond Sipos, and Liuyang Zhao. 2024. SeqKit2: A Swiss Army Knife fo
1010

1111
## Current Version
1212

13-
- [SeqKit v2.11.0](https://github.com/shenwei356/seqkit/releases/tag/v2.11.0) - 2025-11-20
14-
[![Github Releases (by Release)](https://img.shields.io/github/downloads/shenwei356/seqkit/v2.11.0/total.svg)](https://github.com/shenwei356/seqkit/releases/tag/v2.11.0)
15-
- `seqkit`:
16-
- **fix reading records with both empty id and sequence**. [#550](https://github.com/shenwei356/seqkit/issues/550)
17-
- check if the output file name equals to one of the input files. [#541](https://github.com/shenwei356/seqkit/issues/541)
13+
- [SeqKit v2.12.0](https://github.com/shenwei356/seqkit/releases/tag/v2.12.0) - 2025-12-04
14+
[![Github Releases (by Release)](https://img.shields.io/github/downloads/shenwei356/seqkit/v2.12.0/total.svg)](https://github.com/shenwei356/seqkit/releases/tag/v2.12.0)
15+
- `seqkit grep`:
16+
- `-p/--pattern` accepts empty charactor (`""`) now. So it's able to **search records with empty IDs or sequences**. [#558](https://github.com/shenwei356/seqkit/issues/558)
1817
- `seqkit split2`:
19-
- add a new flag `-N, --seqid-as-filename` to use the first sequence ID as the file name.
20-
E.g., using `-N -s 1` is equal to `seqkit split --by-id`, but it's much faster and uses less memory.
21-
- `seqkit head`:
22-
- add a new flag `-l, --length` to print heading FASTA/Q records with total sequence length >= N, e.g., `-l 2G`.
18+
- fix a bug introduced in v2.11.0: `--by-part-prefix` options has no effect. [#554](https://github.com/shenwei356/seqkit/issues/554)
2319
- `seqkit replace`:
24-
- add a new replacement symbol `{uuid}` for random UUID. [#552](https://github.com/shenwei356/seqkit/issues/552)
25-
20+
- `{uuid}`: use the time-sortable UUIDv7 to replace v4.
21+
- `seqkit stats/fx2tab`:
22+
- add information about how the average quality is computed. [#448](https://github.com/shenwei356/seqkit/issues/448)
2623

2724
### Links
2825

2926
| OS | Arch | File | Download Count |
3027
| :------ | :------| :------------------------------------------------------------------------------------------------------------------------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
31-
| Linux | 64-bit | [seqkit_linux_amd64.tar.gz](https://github.com/shenwei356/seqkit/releases/download/v2.11.0/seqkit_linux_amd64.tar.gz) | [![Github Releases (by Asset)](https://img.shields.io/github/downloads/shenwei356/seqkit/latest/seqkit_linux_amd64.tar.gz.svg?maxAge=3600)](https://github.com/shenwei356/seqkit/releases/download/v2.11.0/seqkit_linux_amd64.tar.gz) |
32-
| Linux | arm64 | [seqkit_linux_arm64.tar.gz](https://github.com/shenwei356/seqkit/releases/download/v2.11.0/seqkit_linux_arm64.tar.gz) | [![Github Releases (by Asset)](https://img.shields.io/github/downloads/shenwei356/seqkit/latest/seqkit_linux_arm64.tar.gz.svg?maxAge=3600)](https://github.com/shenwei356/seqkit/releases/download/v2.11.0/seqkit_linux_arm64.tar.gz) |
33-
| macOS | 64-bit | [seqkit_darwin_amd64.tar.gz](https://github.com/shenwei356/seqkit/releases/download/v2.11.0/seqkit_darwin_amd64.tar.gz) | [![Github Releases (by Asset)](https://img.shields.io/github/downloads/shenwei356/seqkit/latest/seqkit_darwin_amd64.tar.gz.svg?maxAge=3600)](https://github.com/shenwei356/seqkit/releases/download/v2.11.0/seqkit_darwin_amd64.tar.gz) |
34-
| macOS | arm64 | [seqkit_darwin_arm64.tar.gz](https://github.com/shenwei356/seqkit/releases/download/v2.11.0/seqkit_darwin_arm64.tar.gz) | [![Github Releases (by Asset)](https://img.shields.io/github/downloads/shenwei356/seqkit/latest/seqkit_darwin_arm64.tar.gz.svg?maxAge=3600)](https://github.com/shenwei356/seqkit/releases/download/v2.11.0/seqkit_darwin_arm64.tar.gz) |
35-
| Windows | 64-bit | [seqkit_windows_amd64.exe.tar.gz](https://github.com/shenwei356/seqkit/releases/download/v2.11.0/seqkit_windows_amd64.exe.tar.gz) | [![Github Releases (by Asset)](https://img.shields.io/github/downloads/shenwei356/seqkit/latest/seqkit_windows_amd64.exe.tar.gz.svg?maxAge=3600)](https://github.com/shenwei356/seqkit/releases/download/v2.11.0/seqkit_windows_amd64.exe.tar.gz) |
36-
| FreeBSD | 64-bit | [seqkit_freebsd_amd64.tar.gz](https://github.com/shenwei356/seqkit/releases/download/v2.11.0/seqkit_freebsd_amd64.tar.gz) | [![Github Releases (by Asset)](https://img.shields.io/github/downloads/shenwei356/seqkit/latest/seqkit_freebsd_amd64.tar.gz.svg?maxAge=3600)](https://github.com/shenwei356/seqkit/releases/download/v2.11.0/seqkit_freebsd_amd64.tar.gz) |
28+
| Linux | 64-bit | [seqkit_linux_amd64.tar.gz](https://github.com/shenwei356/seqkit/releases/download/v2.12.0/seqkit_linux_amd64.tar.gz) | [![Github Releases (by Asset)](https://img.shields.io/github/downloads/shenwei356/seqkit/latest/seqkit_linux_amd64.tar.gz.svg?maxAge=3600)](https://github.com/shenwei356/seqkit/releases/download/v2.12.0/seqkit_linux_amd64.tar.gz) |
29+
| Linux | arm64 | [seqkit_linux_arm64.tar.gz](https://github.com/shenwei356/seqkit/releases/download/v2.12.0/seqkit_linux_arm64.tar.gz) | [![Github Releases (by Asset)](https://img.shields.io/github/downloads/shenwei356/seqkit/latest/seqkit_linux_arm64.tar.gz.svg?maxAge=3600)](https://github.com/shenwei356/seqkit/releases/download/v2.12.0/seqkit_linux_arm64.tar.gz) |
30+
| macOS | 64-bit | [seqkit_darwin_amd64.tar.gz](https://github.com/shenwei356/seqkit/releases/download/v2.12.0/seqkit_darwin_amd64.tar.gz) | [![Github Releases (by Asset)](https://img.shields.io/github/downloads/shenwei356/seqkit/latest/seqkit_darwin_amd64.tar.gz.svg?maxAge=3600)](https://github.com/shenwei356/seqkit/releases/download/v2.12.0/seqkit_darwin_amd64.tar.gz) |
31+
| macOS | arm64 | [seqkit_darwin_arm64.tar.gz](https://github.com/shenwei356/seqkit/releases/download/v2.12.0/seqkit_darwin_arm64.tar.gz) | [![Github Releases (by Asset)](https://img.shields.io/github/downloads/shenwei356/seqkit/latest/seqkit_darwin_arm64.tar.gz.svg?maxAge=3600)](https://github.com/shenwei356/seqkit/releases/download/v2.12.0/seqkit_darwin_arm64.tar.gz) |
32+
| Windows | 64-bit | [seqkit_windows_amd64.exe.tar.gz](https://github.com/shenwei356/seqkit/releases/download/v2.12.0/seqkit_windows_amd64.exe.tar.gz) | [![Github Releases (by Asset)](https://img.shields.io/github/downloads/shenwei356/seqkit/latest/seqkit_windows_amd64.exe.tar.gz.svg?maxAge=3600)](https://github.com/shenwei356/seqkit/releases/download/v2.12.0/seqkit_windows_amd64.exe.tar.gz) |
33+
| FreeBSD | 64-bit | [seqkit_freebsd_amd64.tar.gz](https://github.com/shenwei356/seqkit/releases/download/v2.12.0/seqkit_freebsd_amd64.tar.gz) | [![Github Releases (by Asset)](https://img.shields.io/github/downloads/shenwei356/seqkit/latest/seqkit_freebsd_amd64.tar.gz.svg?maxAge=3600)](https://github.com/shenwei356/seqkit/releases/download/v2.12.0/seqkit_freebsd_amd64.tar.gz) |
3734

3835

3936
*Notes*
@@ -93,9 +90,9 @@ Run the following commands:
9390
# ------------------- install golang -----------------
9491

9592
# download Go from https://go.dev/dl
96-
wget https://go.dev/dl/go1.25.4.linux-amd64.tar.gz
93+
wget https://go.dev/dl/go1.25.5.linux-amd64.tar.gz
9794

98-
tar -zxf go1.25.4.linux-amd64.tar.gz -C $HOME/
95+
tar -zxf go1.25.5.linux-amd64.tar.gz -C $HOME/
9996

10097
# or
10198
# echo "export PATH=$PATH:$HOME/go/bin" >> ~/.bashrc
@@ -149,6 +146,19 @@ fish:
149146

150147
## Release history
151148

149+
150+
- [SeqKit v2.11.0](https://github.com/shenwei356/seqkit/releases/tag/v2.11.0) - 2025-11-20
151+
[![Github Releases (by Release)](https://img.shields.io/github/downloads/shenwei356/seqkit/v2.11.0/total.svg)](https://github.com/shenwei356/seqkit/releases/tag/v2.11.0)
152+
- `seqkit`:
153+
- **fix reading records with both empty id and sequence**. [#550](https://github.com/shenwei356/seqkit/issues/550)
154+
- check if the output file name equals to one of the input files. [#541](https://github.com/shenwei356/seqkit/issues/541)
155+
- `seqkit split2`:
156+
- add a new flag `-N, --seqid-as-filename` to use the first sequence ID as the file name.
157+
E.g., using `-N -s 1` is equal to `seqkit split --by-id`, but it's much faster and uses less memory.
158+
- `seqkit head`:
159+
- add a new flag `-l, --length` to print heading FASTA/Q records with total sequence length >= N, e.g., `-l 2G`.
160+
- `seqkit replace`:
161+
- add a new replacement symbol `{uuid}` for random UUID. [#552](https://github.com/shenwei356/seqkit/issues/552)
152162
- [SeqKit v2.10.1](https://github.com/shenwei356/seqkit/releases/tag/v2.10.1) - 2025-08-19
153163
[![Github Releases (by Release)](https://img.shields.io/github/downloads/shenwei356/seqkit/v2.10.1/total.svg)](https://github.com/shenwei356/seqkit/releases/tag/v2.10.1)
154164
- `seqkit seq`:

doc/docs/usage.md

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -698,7 +698,12 @@ Columns:
698698
14. N50_num N50_num or L50. https://en.wikipedia.org/wiki/N50,_L50,_and_related_statistics#L50
699699
15. Q20(%) percentage of bases with the quality score greater than 20
700700
16. Q30(%) percentage of bases with the quality score greater than 30
701-
17. AvgQual average quality
701+
17. AvgQual average quality.
702+
Attention: It's not the arithmetic average of quartiles (some tools do that).
703+
How to computate: 1) take the qscore for each base, 2) convert it back to
704+
an error probability, 3) take the mean of those, 4) and then convert that
705+
mean error back into a qscore.
706+
Reference: https://github.com/shenwei356/seqkit/issues/448
702707
18. GC(%) percentage of GC content
703708
19. sum_n number of ambitious letters (N, n, X, x)
704709
@@ -1232,6 +1237,11 @@ like sequence length, GC content/GC skew.
12321237
Attention:
12331238
1. Fixed three columns (ID, sequence, quality) are outputted for either FASTA
12341239
or FASTQ, except when flag -n/--name is on. This is for format compatibility.
1240+
2. The average quality is not the arithmetic average of quartiles (some tools do that).
1241+
How to computate: 1) take the qscore for each base, 2) convert it back to
1242+
an error probability, 3) take the mean of those, 4) and then convert that
1243+
mean error back into a qscore.
1244+
Reference: https://github.com/shenwei356/seqkit/issues/448
12351245
12361246
Usage:
12371247
seqkit fx2tab [flags]

seqkit/cmd/amplicon.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
// Copyright © 2016 Wei Shen <shenwei356@gmail.com>
1+
// Copyright © 2016-2026 Wei Shen <shenwei356@gmail.com>
22
//
33
// Permission is hereby granted, free of charge, to any person obtaining a copy
44
// of this software and associated documentation files (the "Software"), to deal

seqkit/cmd/bed.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
// Copyright © 2016-2019 Wei Shen <shenwei356@gmail.com>
1+
// Copyright © 2016-2026 Wei Shen <shenwei356@gmail.com>
22
//
33
// Permission is hereby granted, free of charge, to any person obtaining a copy
44
// of this software and associated documentation files (the "Software"), to deal

seqkit/cmd/common.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
// Copyright © 2016-2023 Wei Shen <shenwei356@gmail.com>
1+
// Copyright © 2016-2026 Wei Shen <shenwei356@gmail.com>
22
//
33
// Permission is hereby granted, free of charge, to any person obtaining a copy
44
// of this software and associated documentation files (the "Software"), to deal

seqkit/cmd/concat.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
// Copyright © 2016-2019 Wei Shen <shenwei356@gmail.com>
1+
// Copyright © 2016-2026 Wei Shen <shenwei356@gmail.com>
22
//
33
// Permission is hereby granted, free of charge, to any person obtaining a copy
44
// of this software and associated documentation files (the "Software"), to deal

seqkit/cmd/convert.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
// Copyright © 2016-2019 Wei Shen <shenwei356@gmail.com>
1+
// Copyright © 2016-2026 Wei Shen <shenwei356@gmail.com>
22
//
33
// Permission is hereby granted, free of charge, to any person obtaining a copy
44
// of this software and associated documentation files (the "Software"), to deal

seqkit/cmd/dup.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
// Copyright © 2016-2019 Wei Shen <shenwei356@gmail.com>
1+
// Copyright © 2016-2026 Wei Shen <shenwei356@gmail.com>
22
//
33
// Permission is hereby granted, free of charge, to any person obtaining a copy
44
// of this software and associated documentation files (the "Software"), to deal

seqkit/cmd/fa2fq.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
// Copyright © 2016-2021 Wei Shen <shenwei356@gmail.com>
1+
// Copyright © 2016-2026 Wei Shen <shenwei356@gmail.com>
22
//
33
// Permission is hereby granted, free of charge, to any person obtaining a copy
44
// of this software and associated documentation files (the "Software"), to deal

0 commit comments

Comments
 (0)