cutseq 0.0.63__tar.gz → 0.0.65__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.
@@ -10,3 +10,8 @@ repos:
10
10
  # that are part of the commit or that are modified by the hook.
11
11
  # If docs/adapters.md is tracked by git, changes made by the script
12
12
  # will be automatically added to the staging area.
13
+ - repo: https://github.com/astral-sh/uv-pre-commit
14
+ # uv version.
15
+ rev: 0.7.6
16
+ hooks:
17
+ - id: uv-lock
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: cutseq
3
- Version: 0.0.63
3
+ Version: 0.0.65
4
4
  Summary: Automatically cut adapter / barcode / UMI from NGS data
5
5
  Project-URL: Repository, https://github.com/y9c/cutseq
6
6
  Author-email: Ye Chang <yech1990@gmail.com>
@@ -0,0 +1,158 @@
1
+ # Built-in adapter schemes for cutseq
2
+
3
+ # RNA library
4
+
5
+ [SMALLRNA]
6
+ scheme = "AGTTCTACAGTCCGACGATC>AGATCGGAAGAGCACACGTC"
7
+ description_name = "Small RNA Libraries"
8
+ points = [
9
+ "Used for small RNA sequencing",
10
+ "Double ligation method",
11
+ "Forward orientation",
12
+ "Optional 2nt trimming on both ends for quality",
13
+ ]
14
+
15
+ [SMRNA]
16
+ scheme = "AGTTCTACAGTCCGACGATC>TGGAATTCTCGGGTGCCAAG"
17
+ description_name = "Small RNA (Legacy)"
18
+ points = [
19
+ "Legacy version for small RNA sequencing",
20
+ "Refer to library preparation protocol for details.",
21
+ ]
22
+
23
+ [INLINE]
24
+ scheme = "AGTTCTACAGTCCGACGATCNNNNN>NNNNN(ATCACG)AGATCGGAAGAGCACACGTC"
25
+ description_name = "Custom Barcoded Libraries"
26
+ points = [
27
+ "Used for libraries with inline barcodes",
28
+ "Dual UMI design (5nt each)",
29
+ "Forward orientation",
30
+ "Contains fixed inline barcode (ATCACG)",
31
+ ]
32
+
33
+ [TAKARAV2]
34
+ scheme = "ACACGACGCTCTTCCGATCTXXX<XXXAGATCGGAAGAGCACACGTC"
35
+ description_name = "Takara V2"
36
+ points = [
37
+ "Contains masked regions (XXX)",
38
+ "Refer to Takara V2 library preparation protocol for details.",
39
+ ]
40
+
41
+ [STRANDED]
42
+ scheme = "ACACGACGCTCTTCCGATCTX<XXXAGATCGGAAGAGCACACGTC"
43
+ description_name = "Stranded RNA"
44
+ points = [
45
+ "Contains masked regions (X, XXX)",
46
+ "Refer to stranded RNA library preparation protocol for details.",
47
+ ]
48
+
49
+ [UNSTRANDED]
50
+ scheme = "ACACGACGCTCTTCCGATCTXX-XXAGATCGGAAGAGCACACGTC"
51
+ description_name = "Unstranded RNA/DNA"
52
+ points = [
53
+ "Contains masked regions (XX)",
54
+ "Refer to library preparation protocol for details.",
55
+ ]
56
+
57
+ [TAKARAV3]
58
+ scheme = "ACACGACGCTCTTCCGATCTXXX<XXXXXXNNNNNNNNAGATCGGAAGAGCACACGTC"
59
+ description_name = "Takara V3"
60
+ points = [
61
+ "Contains masked regions (XXX, XXXXXX)",
62
+ "Contains UMI sequences (NNNNNNNN)",
63
+ "Refer to Takara V3 library preparation protocol for details.",
64
+ ]
65
+
66
+ [ECLIP6]
67
+ scheme = "ACACGACGCTCTTCCGATCTXX<XNNNNNNAGATCGGAAGAGCACACGTC"
68
+ description_name = "eCLIP (6nt UMI)"
69
+ points = [
70
+ "Contains masked regions (XX, X)",
71
+ "Contains UMI sequences (NNNNNN)",
72
+ "Used for eCLIP experiments with a 6-nucleotide UMI.",
73
+ ]
74
+
75
+ [ECLIP10]
76
+ scheme = "ACACGACGCTCTTCCGATCTXX<XNNNNNNNNNNAGATCGGAAGAGCACACGTC"
77
+ description_name = "eCLIP (10nt UMI)"
78
+ points = [
79
+ "Contains masked regions (XX, X)",
80
+ "Contains UMI sequences (NNNNNNNNNN)",
81
+ "Used for eCLIP experiments with a 10-nucleotide UMI.",
82
+ ]
83
+
84
+ [SACSEQ]
85
+ scheme = "ACACGACGCTCTTCCGATCT<XXXXNNNNNNAGATCGGAAGAGCACACGTC"
86
+ description_name = "SAC-Seq"
87
+ points = [
88
+ "Contains masked regions (XXXX)",
89
+ "Contains UMI sequences (NNNNNN)",
90
+ "Used for SAC-Seq (Single-cell RNA-Seq) or similar protocols.",
91
+ ]
92
+
93
+ [SACSEQV3]
94
+ scheme = "ACACGACGCTCTTCCGATCTNNNNNNNNX>XXNNNNNNNNAGATCGGAAGAGCACACGTC"
95
+ description_name = "SAC-Seq V3"
96
+ points = [
97
+ "Contains masked regions (X, XX)",
98
+ "Contains dual UMI sequences (NNNNNNNN on both sides)",
99
+ "Refer to SAC-Seq V3 library preparation protocol for details.",
100
+ ]
101
+
102
+ [XGENRNA]
103
+ scheme = "ACACGACGCTCTTCCGATCTXXXXXX<XXXXXXXXXXXXXXXAGATCGGAAGAGCACACGTC"
104
+ description_name = "xGen RNA"
105
+ points = [
106
+ "Contains extensive masked regions (XXXXXX, XXXXXXXXXXXXXXX)",
107
+ "Likely for specific xGen RNA library preps, check protocol.",
108
+ ]
109
+
110
+ [ILLUMINARNA]
111
+ scheme = "AGATGTGTATAAGAGACAG<CTGTCTCTTATACACATCT"
112
+ description_name = "Illumina Stranded RNA (Nextera-based)"
113
+ points = ["Uses Nextera-style adapter sequences."]
114
+
115
+ # DNA library
116
+
117
+ [DSLIGATION]
118
+ scheme = "ACACGACGCTCTTCCGATCT>AGATCGGAAGAGCACACGTC"
119
+ description_name = "dsDNA Ligation"
120
+ points = [
121
+ "Basic dsDNA ligation with A-tailing",
122
+ "No UMIs or special trimming needed",
123
+ ]
124
+
125
+ # xGenDNA = "ACACGACGCTCTTCCGATCTXXX>(CCCCCCCCCCCCCCCCCCCC;noninternal;e=0.5;o=1)AGATCGGAAGAGCACACGTC" # Commented out
126
+
127
+ [XGENMETHY]
128
+ scheme = "ACACGACGCTCTTCCGATCTXX>XXXXXXXXXXAGATCGGAAGAGCACACGTC"
129
+ description_name = "xGen Methyl-Seq"
130
+ points = [
131
+ "Contains masked regions (XX, XXXXXXXXXX)",
132
+ "Designed for xGen Methyl-Seq library kits.",
133
+ ]
134
+
135
+ [XGENSNMC]
136
+ scheme = "ACACGACGCTCTTCCGATCTXXXXXX>XXXXXXXXXXXXXXXAGATCGGAAGAGCACACGTC"
137
+ description_name = "xGen snmC-Seq"
138
+ points = [
139
+ "Contains extensive masked regions (XXXXXX, XXXXXXXXXXXXXXX)",
140
+ "Designed for xGen single-nucleus methylC-Seq (snmC-Seq) library kits.",
141
+ ]
142
+
143
+ [PBAT]
144
+ scheme = "ACACGACGCTCTTCCGATCTXXXXXX<XXXXXXAGATCGGAAGAGCACACGTC"
145
+ description_name = "PBAT (Post-Bisulfite Adapter Tagging)"
146
+ points = [
147
+ "Contains masked regions (XXXXXX on both sides)",
148
+ "Used for PBAT-style bisulfite sequencing libraries.",
149
+ ]
150
+
151
+ [NEXTERA]
152
+ scheme = "AGATGTGTATAAGAGACAG>CTGTCTCTTATACACATCT"
153
+ description_name = "Nextera (General)"
154
+ points = [
155
+ "Standard Nextera transposase-based library preparation.",
156
+ "No UMIs by default in this basic scheme.",
157
+ "Usually used for ATAC-seq libraries.",
158
+ ]
@@ -211,3 +211,25 @@ class BarcodeConfig:
211
211
  "mask3": self.mask3.fw,
212
212
  "strand": self.strand,
213
213
  }
214
+
215
+
216
+ def print_builtin_adapters():
217
+ """
218
+ Print all built-in adapter names and their schemes in a well-organized, pretty table.
219
+ """
220
+ from textwrap import wrap
221
+
222
+ print("\nBuilt-in adapter schemes:\n")
223
+ # Find the max width for name and scheme for alignment
224
+ max_name_len = max(len(name) for name in BUILDIN_ADAPTERS)
225
+ max_scheme_len = max(len(scheme) for scheme in BUILDIN_ADAPTERS.values())
226
+ # Header
227
+ print(f"{'Name'.ljust(max_name_len)} {'Scheme'}")
228
+ print(f"{'-'*max_name_len} {'-'*max(30, min(max_scheme_len, 100))}")
229
+ # Print each adapter, wrapping long schemes
230
+ for name, scheme in BUILDIN_ADAPTERS.items():
231
+ wrapped_scheme = wrap(scheme, width=100)
232
+ print(f"{name.ljust(max_name_len)} {wrapped_scheme[0]}")
233
+ for cont in wrapped_scheme[1:]:
234
+ print(f"{' '*max_name_len} {cont}")
235
+ print("\nUse the adapter name with -A/--adapter-name, or the scheme string with -a/--adapter-scheme.\n")
@@ -45,7 +45,10 @@ from cutadapt.steps import (
45
45
  )
46
46
  from cutadapt.utils import Progress
47
47
 
48
- from .common import BUILDIN_ADAPTERS, BarcodeConfig, remove_fq_suffix
48
+ from .common import load_adapters, BarcodeConfig, remove_fq_suffix, print_builtin_adapters
49
+
50
+ # Initialize built-in adapters at the top so it's available for argument parsing
51
+ BUILDIN_ADAPTERS = load_adapters()
49
52
 
50
53
  # monkey patching ....
51
54
  original_method = Statistics._collect_modifier
@@ -852,7 +855,7 @@ def main():
852
855
  parser.add_argument(
853
856
  "input_file",
854
857
  type=str,
855
- nargs="+",
858
+ nargs="?",
856
859
  help="Input file path for NGS data, one or two files (for single or paired-end reads).",
857
860
  )
858
861
  # output file can be number of files matching the input files, if not provided it will generate based on the output prefix,
@@ -979,6 +982,12 @@ def main():
979
982
  "-V", "--version", action="version", version=f"%(prog)s {__version__}"
980
983
  )
981
984
 
985
+ parser.add_argument(
986
+ "--list-adapters",
987
+ action="store_true",
988
+ help="List all built-in adapter names and their schemes, then exit."
989
+ )
990
+
982
991
  # Check if no arguments were provided
983
992
  if len(sys.argv) == 1:
984
993
  parser.print_help(sys.stdout)
@@ -986,6 +995,15 @@ def main():
986
995
 
987
996
  args = parser.parse_args()
988
997
 
998
+ if args.list_adapters:
999
+ print_builtin_adapters()
1000
+ sys.exit(0)
1001
+
1002
+ # Check if input file is provided
1003
+ if args.input_file is None:
1004
+ logging.error("Input file is required.")
1005
+ sys.exit(1)
1006
+
989
1007
  if args.adapter_name is not None:
990
1008
  if args.adapter_scheme is not None:
991
1009
  logging.info("Adapter scheme is provided, ignoring adapter name.")
@@ -993,7 +1011,7 @@ def main():
993
1011
  args.adapter_scheme = BUILDIN_ADAPTERS.get(args.adapter_name.upper())
994
1012
  if args.adapter_scheme is None:
995
1013
  logging.error(
996
- f"Adapter name '{args.adapter_name}' is not valid. Check available --adapter-name choices or provide an --adapter-scheme."
1014
+ f"Adapter name '{args.adapter_name} not found in built-in adapters."
997
1015
  )
998
1016
  # sys.exit(1) # Consider exiting if a bad name is given and no scheme
999
1017
  # For now, allow fallback to adapter_scheme = adapter_name if not found
@@ -0,0 +1,141 @@
1
+ # Adapter Schemes
2
+ This file is auto-generated by `scripts/update_adapter_docs.py`. Do not edit manually.
3
+
4
+ This document lists the built-in adapter schemes available in `cutseq`. These can be used with the `-A` or `--adapter-name` option in the `cutseq run` command.
5
+
6
+ ### SMALLRNA (Small RNA Libraries)
7
+
8
+ <div class="adapter-scheme" style="margin-bottom: 15px; position: relative;"><div class="copy-scheme-raw" style="display: flex; flex-wrap: nowrap; align-items: center; font-family: monospace; font-size: 14px; border: 1px solid #ccc; padding: 5px; border-radius: 5px; overflow-x: auto; cursor: pointer; background: #f8f8f8; transition: box-shadow 0.2s;" title="Click to copy scheme: AGTTCTACAGTCCGACGATC>AGATCGGAAGAGCACACGTC" data-scheme="AGTTCTACAGTCCGACGATC>AGATCGGAAGAGCACACGTC"><span style="background-color: #A8E6CF; padding: 5px 8px; margin: 0 2px; border-radius: 3px; white-space: nowrap;">AGTTCTACAGTCCGACGATC</span><div style="position: relative; width: 30px; height: 30px; margin: 0 2px; text-align: center; line-height: 30px;"><div style="background-color: #FF6F61; width: 100%; height: 100%; position: absolute; top: 0; left: 0; clip-path: polygon(25% 0%, 75% 0%, 100% 50%, 75% 100%, 25% 100%, 0% 50%);"></div><span style="position: relative; z-index: 1; color: white; font-weight: bold;">></span></div><span style="background-color: #D1E8D1; padding: 5px 8px; margin: 0 2px; border-radius: 3px; white-space: nowrap;">AGATCGGAAGAGCACACGTC</span></div><div class="scheme-raw-tooltip" style="display:none; position:absolute; top:-30px; left:0; background:#222; color:#fff; padding:3px 8px; border-radius:4px; font-size:12px; z-index:10;">Copied!</div></div>
9
+ - Used for small RNA sequencing
10
+ - Double ligation method
11
+ - Forward orientation
12
+ - Optional 2nt trimming on both ends for quality
13
+
14
+ ---
15
+ ### SMRNA (Small RNA (Legacy))
16
+
17
+ <div class="adapter-scheme" style="margin-bottom: 15px; position: relative;"><div class="copy-scheme-raw" style="display: flex; flex-wrap: nowrap; align-items: center; font-family: monospace; font-size: 14px; border: 1px solid #ccc; padding: 5px; border-radius: 5px; overflow-x: auto; cursor: pointer; background: #f8f8f8; transition: box-shadow 0.2s;" title="Click to copy scheme: AGTTCTACAGTCCGACGATC>TGGAATTCTCGGGTGCCAAG" data-scheme="AGTTCTACAGTCCGACGATC>TGGAATTCTCGGGTGCCAAG"><span style="background-color: #A8E6CF; padding: 5px 8px; margin: 0 2px; border-radius: 3px; white-space: nowrap;">AGTTCTACAGTCCGACGATC</span><div style="position: relative; width: 30px; height: 30px; margin: 0 2px; text-align: center; line-height: 30px;"><div style="background-color: #FF6F61; width: 100%; height: 100%; position: absolute; top: 0; left: 0; clip-path: polygon(25% 0%, 75% 0%, 100% 50%, 75% 100%, 25% 100%, 0% 50%);"></div><span style="position: relative; z-index: 1; color: white; font-weight: bold;">></span></div><span style="background-color: #D1E8D1; padding: 5px 8px; margin: 0 2px; border-radius: 3px; white-space: nowrap;">TGGAATTCTCGGGTGCCAAG</span></div><div class="scheme-raw-tooltip" style="display:none; position:absolute; top:-30px; left:0; background:#222; color:#fff; padding:3px 8px; border-radius:4px; font-size:12px; z-index:10;">Copied!</div></div>
18
+ - Legacy version for small RNA sequencing
19
+ - Refer to library preparation protocol for details.
20
+
21
+ ---
22
+ ### INLINE (Custom Barcoded Libraries)
23
+
24
+ <div class="adapter-scheme" style="margin-bottom: 15px; position: relative;"><div class="copy-scheme-raw" style="display: flex; flex-wrap: nowrap; align-items: center; font-family: monospace; font-size: 14px; border: 1px solid #ccc; padding: 5px; border-radius: 5px; overflow-x: auto; cursor: pointer; background: #f8f8f8; transition: box-shadow 0.2s;" title="Click to copy scheme: AGTTCTACAGTCCGACGATCNNNNN>NNNNN(ATCACG)AGATCGGAAGAGCACACGTC" data-scheme="AGTTCTACAGTCCGACGATCNNNNN>NNNNN(ATCACG)AGATCGGAAGAGCACACGTC"><span style="background-color: #A8E6CF; padding: 5px 8px; margin: 0 2px; border-radius: 3px; white-space: nowrap;">AGTTCTACAGTCCGACGATC</span><span style="background-color: #B2EBF2; padding: 5px 8px; margin: 0 2px; border-radius: 3px; white-space: nowrap;">NNNNN</span><div style="position: relative; width: 30px; height: 30px; margin: 0 2px; text-align: center; line-height: 30px;"><div style="background-color: #FF6F61; width: 100%; height: 100%; position: absolute; top: 0; left: 0; clip-path: polygon(25% 0%, 75% 0%, 100% 50%, 75% 100%, 25% 100%, 0% 50%);"></div><span style="position: relative; z-index: 1; color: white; font-weight: bold;">></span></div><span style="background-color: #B2EBF2; padding: 5px 8px; margin: 0 2px; border-radius: 3px; white-space: nowrap;">NNNNN</span><span style="background-color: #FFD700; padding: 5px 8px; margin: 0 2px; border-radius: 3px; white-space: nowrap;">ATCACG</span><span style="background-color: #D1E8D1; padding: 5px 8px; margin: 0 2px; border-radius: 3px; white-space: nowrap;">AGATCGGAAGAGCACACGTC</span></div><div class="scheme-raw-tooltip" style="display:none; position:absolute; top:-30px; left:0; background:#222; color:#fff; padding:3px 8px; border-radius:4px; font-size:12px; z-index:10;">Copied!</div></div>
25
+ - Used for libraries with inline barcodes
26
+ - Dual UMI design (5nt each)
27
+ - Forward orientation
28
+ - Contains fixed inline barcode (ATCACG)
29
+
30
+ ---
31
+ ### TAKARAV2 (Takara V2)
32
+
33
+ <div class="adapter-scheme" style="margin-bottom: 15px; position: relative;"><div class="copy-scheme-raw" style="display: flex; flex-wrap: nowrap; align-items: center; font-family: monospace; font-size: 14px; border: 1px solid #ccc; padding: 5px; border-radius: 5px; overflow-x: auto; cursor: pointer; background: #f8f8f8; transition: box-shadow 0.2s;" title="Click to copy scheme: ACACGACGCTCTTCCGATCTXXX<XXXAGATCGGAAGAGCACACGTC" data-scheme="ACACGACGCTCTTCCGATCTXXX<XXXAGATCGGAAGAGCACACGTC"><span style="background-color: #A8E6CF; padding: 5px 8px; margin: 0 2px; border-radius: 3px; white-space: nowrap;">ACACGACGCTCTTCCGATCT</span><span style="background-color: #DCDCDC; padding: 5px 8px; margin: 0 2px; border-radius: 3px; white-space: nowrap;">XXX</span><div style="position: relative; width: 30px; height: 30px; margin: 0 2px; text-align: center; line-height: 30px;"><div style="background-color: #FF6F61; width: 100%; height: 100%; position: absolute; top: 0; left: 0; clip-path: polygon(25% 0%, 75% 0%, 100% 50%, 75% 100%, 25% 100%, 0% 50%);"></div><span style="position: relative; z-index: 1; color: white; font-weight: bold;"><</span></div><span style="background-color: #DCDCDC; padding: 5px 8px; margin: 0 2px; border-radius: 3px; white-space: nowrap;">XXX</span><span style="background-color: #D1E8D1; padding: 5px 8px; margin: 0 2px; border-radius: 3px; white-space: nowrap;">AGATCGGAAGAGCACACGTC</span></div><div class="scheme-raw-tooltip" style="display:none; position:absolute; top:-30px; left:0; background:#222; color:#fff; padding:3px 8px; border-radius:4px; font-size:12px; z-index:10;">Copied!</div></div>
34
+ - Contains masked regions (XXX)
35
+ - Refer to Takara V2 library preparation protocol for details.
36
+
37
+ ---
38
+ ### STRANDED (Stranded RNA)
39
+
40
+ <div class="adapter-scheme" style="margin-bottom: 15px; position: relative;"><div class="copy-scheme-raw" style="display: flex; flex-wrap: nowrap; align-items: center; font-family: monospace; font-size: 14px; border: 1px solid #ccc; padding: 5px; border-radius: 5px; overflow-x: auto; cursor: pointer; background: #f8f8f8; transition: box-shadow 0.2s;" title="Click to copy scheme: ACACGACGCTCTTCCGATCTX<XXXAGATCGGAAGAGCACACGTC" data-scheme="ACACGACGCTCTTCCGATCTX<XXXAGATCGGAAGAGCACACGTC"><span style="background-color: #A8E6CF; padding: 5px 8px; margin: 0 2px; border-radius: 3px; white-space: nowrap;">ACACGACGCTCTTCCGATCT</span><span style="background-color: #DCDCDC; padding: 5px 8px; margin: 0 2px; border-radius: 3px; white-space: nowrap;">X</span><div style="position: relative; width: 30px; height: 30px; margin: 0 2px; text-align: center; line-height: 30px;"><div style="background-color: #FF6F61; width: 100%; height: 100%; position: absolute; top: 0; left: 0; clip-path: polygon(25% 0%, 75% 0%, 100% 50%, 75% 100%, 25% 100%, 0% 50%);"></div><span style="position: relative; z-index: 1; color: white; font-weight: bold;"><</span></div><span style="background-color: #DCDCDC; padding: 5px 8px; margin: 0 2px; border-radius: 3px; white-space: nowrap;">XXX</span><span style="background-color: #D1E8D1; padding: 5px 8px; margin: 0 2px; border-radius: 3px; white-space: nowrap;">AGATCGGAAGAGCACACGTC</span></div><div class="scheme-raw-tooltip" style="display:none; position:absolute; top:-30px; left:0; background:#222; color:#fff; padding:3px 8px; border-radius:4px; font-size:12px; z-index:10;">Copied!</div></div>
41
+ - Contains masked regions (X, XXX)
42
+ - Refer to stranded RNA library preparation protocol for details.
43
+
44
+ ---
45
+ ### UNSTRANDED (Unstranded RNA/DNA)
46
+
47
+ <div class="adapter-scheme" style="margin-bottom: 15px; position: relative;"><div class="copy-scheme-raw" style="display: flex; flex-wrap: nowrap; align-items: center; font-family: monospace; font-size: 14px; border: 1px solid #ccc; padding: 5px; border-radius: 5px; overflow-x: auto; cursor: pointer; background: #f8f8f8; transition: box-shadow 0.2s;" title="Click to copy scheme: ACACGACGCTCTTCCGATCTXX-XXAGATCGGAAGAGCACACGTC" data-scheme="ACACGACGCTCTTCCGATCTXX-XXAGATCGGAAGAGCACACGTC"><span style="background-color: #A8E6CF; padding: 5px 8px; margin: 0 2px; border-radius: 3px; white-space: nowrap;">ACACGACGCTCTTCCGATCT</span><span style="background-color: #DCDCDC; padding: 5px 8px; margin: 0 2px; border-radius: 3px; white-space: nowrap;">XX</span><div style="position: relative; width: 30px; height: 30px; margin: 0 2px; text-align: center; line-height: 30px;"><div style="background-color: #FF6F61; width: 100%; height: 100%; position: absolute; top: 0; left: 0; clip-path: polygon(25% 0%, 75% 0%, 100% 50%, 75% 100%, 25% 100%, 0% 50%);"></div><span style="position: relative; z-index: 1; color: white; font-weight: bold;">-</span></div><span style="background-color: #DCDCDC; padding: 5px 8px; margin: 0 2px; border-radius: 3px; white-space: nowrap;">XX</span><span style="background-color: #D1E8D1; padding: 5px 8px; margin: 0 2px; border-radius: 3px; white-space: nowrap;">AGATCGGAAGAGCACACGTC</span></div><div class="scheme-raw-tooltip" style="display:none; position:absolute; top:-30px; left:0; background:#222; color:#fff; padding:3px 8px; border-radius:4px; font-size:12px; z-index:10;">Copied!</div></div>
48
+ - Contains masked regions (XX)
49
+ - Refer to library preparation protocol for details.
50
+
51
+ ---
52
+ ### TAKARAV3 (Takara V3)
53
+
54
+ <div class="adapter-scheme" style="margin-bottom: 15px; position: relative;"><div class="copy-scheme-raw" style="display: flex; flex-wrap: nowrap; align-items: center; font-family: monospace; font-size: 14px; border: 1px solid #ccc; padding: 5px; border-radius: 5px; overflow-x: auto; cursor: pointer; background: #f8f8f8; transition: box-shadow 0.2s;" title="Click to copy scheme: ACACGACGCTCTTCCGATCTXXX<XXXXXXNNNNNNNNAGATCGGAAGAGCACACGTC" data-scheme="ACACGACGCTCTTCCGATCTXXX<XXXXXXNNNNNNNNAGATCGGAAGAGCACACGTC"><span style="background-color: #A8E6CF; padding: 5px 8px; margin: 0 2px; border-radius: 3px; white-space: nowrap;">ACACGACGCTCTTCCGATCT</span><span style="background-color: #DCDCDC; padding: 5px 8px; margin: 0 2px; border-radius: 3px; white-space: nowrap;">XXX</span><div style="position: relative; width: 30px; height: 30px; margin: 0 2px; text-align: center; line-height: 30px;"><div style="background-color: #FF6F61; width: 100%; height: 100%; position: absolute; top: 0; left: 0; clip-path: polygon(25% 0%, 75% 0%, 100% 50%, 75% 100%, 25% 100%, 0% 50%);"></div><span style="position: relative; z-index: 1; color: white; font-weight: bold;"><</span></div><span style="background-color: #DCDCDC; padding: 5px 8px; margin: 0 2px; border-radius: 3px; white-space: nowrap;">XXXXXX</span><span style="background-color: #B2EBF2; padding: 5px 8px; margin: 0 2px; border-radius: 3px; white-space: nowrap;">NNNNNNNN</span><span style="background-color: #D1E8D1; padding: 5px 8px; margin: 0 2px; border-radius: 3px; white-space: nowrap;">AGATCGGAAGAGCACACGTC</span></div><div class="scheme-raw-tooltip" style="display:none; position:absolute; top:-30px; left:0; background:#222; color:#fff; padding:3px 8px; border-radius:4px; font-size:12px; z-index:10;">Copied!</div></div>
55
+ - Contains masked regions (XXX, XXXXXX)
56
+ - Contains UMI sequences (NNNNNNNN)
57
+ - Refer to Takara V3 library preparation protocol for details.
58
+
59
+ ---
60
+ ### ECLIP6 (eCLIP (6nt UMI))
61
+
62
+ <div class="adapter-scheme" style="margin-bottom: 15px; position: relative;"><div class="copy-scheme-raw" style="display: flex; flex-wrap: nowrap; align-items: center; font-family: monospace; font-size: 14px; border: 1px solid #ccc; padding: 5px; border-radius: 5px; overflow-x: auto; cursor: pointer; background: #f8f8f8; transition: box-shadow 0.2s;" title="Click to copy scheme: ACACGACGCTCTTCCGATCTXX<XNNNNNNAGATCGGAAGAGCACACGTC" data-scheme="ACACGACGCTCTTCCGATCTXX<XNNNNNNAGATCGGAAGAGCACACGTC"><span style="background-color: #A8E6CF; padding: 5px 8px; margin: 0 2px; border-radius: 3px; white-space: nowrap;">ACACGACGCTCTTCCGATCT</span><span style="background-color: #DCDCDC; padding: 5px 8px; margin: 0 2px; border-radius: 3px; white-space: nowrap;">XX</span><div style="position: relative; width: 30px; height: 30px; margin: 0 2px; text-align: center; line-height: 30px;"><div style="background-color: #FF6F61; width: 100%; height: 100%; position: absolute; top: 0; left: 0; clip-path: polygon(25% 0%, 75% 0%, 100% 50%, 75% 100%, 25% 100%, 0% 50%);"></div><span style="position: relative; z-index: 1; color: white; font-weight: bold;"><</span></div><span style="background-color: #DCDCDC; padding: 5px 8px; margin: 0 2px; border-radius: 3px; white-space: nowrap;">X</span><span style="background-color: #B2EBF2; padding: 5px 8px; margin: 0 2px; border-radius: 3px; white-space: nowrap;">NNNNNN</span><span style="background-color: #D1E8D1; padding: 5px 8px; margin: 0 2px; border-radius: 3px; white-space: nowrap;">AGATCGGAAGAGCACACGTC</span></div><div class="scheme-raw-tooltip" style="display:none; position:absolute; top:-30px; left:0; background:#222; color:#fff; padding:3px 8px; border-radius:4px; font-size:12px; z-index:10;">Copied!</div></div>
63
+ - Contains masked regions (XX, X)
64
+ - Contains UMI sequences (NNNNNN)
65
+ - Used for eCLIP experiments with a 6-nucleotide UMI.
66
+
67
+ ---
68
+ ### ECLIP10 (eCLIP (10nt UMI))
69
+
70
+ <div class="adapter-scheme" style="margin-bottom: 15px; position: relative;"><div class="copy-scheme-raw" style="display: flex; flex-wrap: nowrap; align-items: center; font-family: monospace; font-size: 14px; border: 1px solid #ccc; padding: 5px; border-radius: 5px; overflow-x: auto; cursor: pointer; background: #f8f8f8; transition: box-shadow 0.2s;" title="Click to copy scheme: ACACGACGCTCTTCCGATCTXX<XNNNNNNNNNNAGATCGGAAGAGCACACGTC" data-scheme="ACACGACGCTCTTCCGATCTXX<XNNNNNNNNNNAGATCGGAAGAGCACACGTC"><span style="background-color: #A8E6CF; padding: 5px 8px; margin: 0 2px; border-radius: 3px; white-space: nowrap;">ACACGACGCTCTTCCGATCT</span><span style="background-color: #DCDCDC; padding: 5px 8px; margin: 0 2px; border-radius: 3px; white-space: nowrap;">XX</span><div style="position: relative; width: 30px; height: 30px; margin: 0 2px; text-align: center; line-height: 30px;"><div style="background-color: #FF6F61; width: 100%; height: 100%; position: absolute; top: 0; left: 0; clip-path: polygon(25% 0%, 75% 0%, 100% 50%, 75% 100%, 25% 100%, 0% 50%);"></div><span style="position: relative; z-index: 1; color: white; font-weight: bold;"><</span></div><span style="background-color: #DCDCDC; padding: 5px 8px; margin: 0 2px; border-radius: 3px; white-space: nowrap;">X</span><span style="background-color: #B2EBF2; padding: 5px 8px; margin: 0 2px; border-radius: 3px; white-space: nowrap;">NNNNNNNNNN</span><span style="background-color: #D1E8D1; padding: 5px 8px; margin: 0 2px; border-radius: 3px; white-space: nowrap;">AGATCGGAAGAGCACACGTC</span></div><div class="scheme-raw-tooltip" style="display:none; position:absolute; top:-30px; left:0; background:#222; color:#fff; padding:3px 8px; border-radius:4px; font-size:12px; z-index:10;">Copied!</div></div>
71
+ - Contains masked regions (XX, X)
72
+ - Contains UMI sequences (NNNNNNNNNN)
73
+ - Used for eCLIP experiments with a 10-nucleotide UMI.
74
+
75
+ ---
76
+ ### SACSEQ (SAC-Seq)
77
+
78
+ <div class="adapter-scheme" style="margin-bottom: 15px; position: relative;"><div class="copy-scheme-raw" style="display: flex; flex-wrap: nowrap; align-items: center; font-family: monospace; font-size: 14px; border: 1px solid #ccc; padding: 5px; border-radius: 5px; overflow-x: auto; cursor: pointer; background: #f8f8f8; transition: box-shadow 0.2s;" title="Click to copy scheme: ACACGACGCTCTTCCGATCT<XXXXNNNNNNAGATCGGAAGAGCACACGTC" data-scheme="ACACGACGCTCTTCCGATCT<XXXXNNNNNNAGATCGGAAGAGCACACGTC"><span style="background-color: #A8E6CF; padding: 5px 8px; margin: 0 2px; border-radius: 3px; white-space: nowrap;">ACACGACGCTCTTCCGATCT</span><div style="position: relative; width: 30px; height: 30px; margin: 0 2px; text-align: center; line-height: 30px;"><div style="background-color: #FF6F61; width: 100%; height: 100%; position: absolute; top: 0; left: 0; clip-path: polygon(25% 0%, 75% 0%, 100% 50%, 75% 100%, 25% 100%, 0% 50%);"></div><span style="position: relative; z-index: 1; color: white; font-weight: bold;"><</span></div><span style="background-color: #DCDCDC; padding: 5px 8px; margin: 0 2px; border-radius: 3px; white-space: nowrap;">XXXX</span><span style="background-color: #B2EBF2; padding: 5px 8px; margin: 0 2px; border-radius: 3px; white-space: nowrap;">NNNNNN</span><span style="background-color: #D1E8D1; padding: 5px 8px; margin: 0 2px; border-radius: 3px; white-space: nowrap;">AGATCGGAAGAGCACACGTC</span></div><div class="scheme-raw-tooltip" style="display:none; position:absolute; top:-30px; left:0; background:#222; color:#fff; padding:3px 8px; border-radius:4px; font-size:12px; z-index:10;">Copied!</div></div>
79
+ - Contains masked regions (XXXX)
80
+ - Contains UMI sequences (NNNNNN)
81
+ - Used for SAC-Seq (Single-cell RNA-Seq) or similar protocols.
82
+
83
+ ---
84
+ ### SACSEQV3 (SAC-Seq V3)
85
+
86
+ <div class="adapter-scheme" style="margin-bottom: 15px; position: relative;"><div class="copy-scheme-raw" style="display: flex; flex-wrap: nowrap; align-items: center; font-family: monospace; font-size: 14px; border: 1px solid #ccc; padding: 5px; border-radius: 5px; overflow-x: auto; cursor: pointer; background: #f8f8f8; transition: box-shadow 0.2s;" title="Click to copy scheme: ACACGACGCTCTTCCGATCTNNNNNNNNX>XXNNNNNNNNAGATCGGAAGAGCACACGTC" data-scheme="ACACGACGCTCTTCCGATCTNNNNNNNNX>XXNNNNNNNNAGATCGGAAGAGCACACGTC"><span style="background-color: #A8E6CF; padding: 5px 8px; margin: 0 2px; border-radius: 3px; white-space: nowrap;">ACACGACGCTCTTCCGATCT</span><span style="background-color: #B2EBF2; padding: 5px 8px; margin: 0 2px; border-radius: 3px; white-space: nowrap;">NNNNNNNN</span><span style="background-color: #DCDCDC; padding: 5px 8px; margin: 0 2px; border-radius: 3px; white-space: nowrap;">X</span><div style="position: relative; width: 30px; height: 30px; margin: 0 2px; text-align: center; line-height: 30px;"><div style="background-color: #FF6F61; width: 100%; height: 100%; position: absolute; top: 0; left: 0; clip-path: polygon(25% 0%, 75% 0%, 100% 50%, 75% 100%, 25% 100%, 0% 50%);"></div><span style="position: relative; z-index: 1; color: white; font-weight: bold;">></span></div><span style="background-color: #DCDCDC; padding: 5px 8px; margin: 0 2px; border-radius: 3px; white-space: nowrap;">XX</span><span style="background-color: #B2EBF2; padding: 5px 8px; margin: 0 2px; border-radius: 3px; white-space: nowrap;">NNNNNNNN</span><span style="background-color: #D1E8D1; padding: 5px 8px; margin: 0 2px; border-radius: 3px; white-space: nowrap;">AGATCGGAAGAGCACACGTC</span></div><div class="scheme-raw-tooltip" style="display:none; position:absolute; top:-30px; left:0; background:#222; color:#fff; padding:3px 8px; border-radius:4px; font-size:12px; z-index:10;">Copied!</div></div>
87
+ - Contains masked regions (X, XX)
88
+ - Contains dual UMI sequences (NNNNNNNN on both sides)
89
+ - Refer to SAC-Seq V3 library preparation protocol for details.
90
+
91
+ ---
92
+ ### XGENRNA (xGen RNA)
93
+
94
+ <div class="adapter-scheme" style="margin-bottom: 15px; position: relative;"><div class="copy-scheme-raw" style="display: flex; flex-wrap: nowrap; align-items: center; font-family: monospace; font-size: 14px; border: 1px solid #ccc; padding: 5px; border-radius: 5px; overflow-x: auto; cursor: pointer; background: #f8f8f8; transition: box-shadow 0.2s;" title="Click to copy scheme: ACACGACGCTCTTCCGATCTXXXXXX<XXXXXXXXXXXXXXXAGATCGGAAGAGCACACGTC" data-scheme="ACACGACGCTCTTCCGATCTXXXXXX<XXXXXXXXXXXXXXXAGATCGGAAGAGCACACGTC"><span style="background-color: #A8E6CF; padding: 5px 8px; margin: 0 2px; border-radius: 3px; white-space: nowrap;">ACACGACGCTCTTCCGATCT</span><span style="background-color: #DCDCDC; padding: 5px 8px; margin: 0 2px; border-radius: 3px; white-space: nowrap;">XXXXXX</span><div style="position: relative; width: 30px; height: 30px; margin: 0 2px; text-align: center; line-height: 30px;"><div style="background-color: #FF6F61; width: 100%; height: 100%; position: absolute; top: 0; left: 0; clip-path: polygon(25% 0%, 75% 0%, 100% 50%, 75% 100%, 25% 100%, 0% 50%);"></div><span style="position: relative; z-index: 1; color: white; font-weight: bold;"><</span></div><span style="background-color: #DCDCDC; padding: 5px 8px; margin: 0 2px; border-radius: 3px; white-space: nowrap;">XXXXXXXXXXXXXXX</span><span style="background-color: #D1E8D1; padding: 5px 8px; margin: 0 2px; border-radius: 3px; white-space: nowrap;">AGATCGGAAGAGCACACGTC</span></div><div class="scheme-raw-tooltip" style="display:none; position:absolute; top:-30px; left:0; background:#222; color:#fff; padding:3px 8px; border-radius:4px; font-size:12px; z-index:10;">Copied!</div></div>
95
+ - Contains extensive masked regions (XXXXXX, XXXXXXXXXXXXXXX)
96
+ - Likely for specific xGen RNA library preps, check protocol.
97
+
98
+ ---
99
+ ### ILLUMINARNA (Illumina Stranded RNA (Nextera-based))
100
+
101
+ <div class="adapter-scheme" style="margin-bottom: 15px; position: relative;"><div class="copy-scheme-raw" style="display: flex; flex-wrap: nowrap; align-items: center; font-family: monospace; font-size: 14px; border: 1px solid #ccc; padding: 5px; border-radius: 5px; overflow-x: auto; cursor: pointer; background: #f8f8f8; transition: box-shadow 0.2s;" title="Click to copy scheme: AGATGTGTATAAGAGACAG<CTGTCTCTTATACACATCT" data-scheme="AGATGTGTATAAGAGACAG<CTGTCTCTTATACACATCT"><span style="background-color: #A8E6CF; padding: 5px 8px; margin: 0 2px; border-radius: 3px; white-space: nowrap;">AGATGTGTATAAGAGACAG</span><div style="position: relative; width: 30px; height: 30px; margin: 0 2px; text-align: center; line-height: 30px;"><div style="background-color: #FF6F61; width: 100%; height: 100%; position: absolute; top: 0; left: 0; clip-path: polygon(25% 0%, 75% 0%, 100% 50%, 75% 100%, 25% 100%, 0% 50%);"></div><span style="position: relative; z-index: 1; color: white; font-weight: bold;"><</span></div><span style="background-color: #D1E8D1; padding: 5px 8px; margin: 0 2px; border-radius: 3px; white-space: nowrap;">CTGTCTCTTATACACATCT</span></div><div class="scheme-raw-tooltip" style="display:none; position:absolute; top:-30px; left:0; background:#222; color:#fff; padding:3px 8px; border-radius:4px; font-size:12px; z-index:10;">Copied!</div></div>
102
+ - Uses Nextera-style adapter sequences.
103
+
104
+ ---
105
+ ### DSLIGATION (dsDNA Ligation)
106
+
107
+ <div class="adapter-scheme" style="margin-bottom: 15px; position: relative;"><div class="copy-scheme-raw" style="display: flex; flex-wrap: nowrap; align-items: center; font-family: monospace; font-size: 14px; border: 1px solid #ccc; padding: 5px; border-radius: 5px; overflow-x: auto; cursor: pointer; background: #f8f8f8; transition: box-shadow 0.2s;" title="Click to copy scheme: ACACGACGCTCTTCCGATCT>AGATCGGAAGAGCACACGTC" data-scheme="ACACGACGCTCTTCCGATCT>AGATCGGAAGAGCACACGTC"><span style="background-color: #A8E6CF; padding: 5px 8px; margin: 0 2px; border-radius: 3px; white-space: nowrap;">ACACGACGCTCTTCCGATCT</span><div style="position: relative; width: 30px; height: 30px; margin: 0 2px; text-align: center; line-height: 30px;"><div style="background-color: #FF6F61; width: 100%; height: 100%; position: absolute; top: 0; left: 0; clip-path: polygon(25% 0%, 75% 0%, 100% 50%, 75% 100%, 25% 100%, 0% 50%);"></div><span style="position: relative; z-index: 1; color: white; font-weight: bold;">></span></div><span style="background-color: #D1E8D1; padding: 5px 8px; margin: 0 2px; border-radius: 3px; white-space: nowrap;">AGATCGGAAGAGCACACGTC</span></div><div class="scheme-raw-tooltip" style="display:none; position:absolute; top:-30px; left:0; background:#222; color:#fff; padding:3px 8px; border-radius:4px; font-size:12px; z-index:10;">Copied!</div></div>
108
+ - Basic dsDNA ligation with A-tailing
109
+ - No UMIs or special trimming needed
110
+
111
+ ---
112
+ ### XGENMETHY (xGen Methyl-Seq)
113
+
114
+ <div class="adapter-scheme" style="margin-bottom: 15px; position: relative;"><div class="copy-scheme-raw" style="display: flex; flex-wrap: nowrap; align-items: center; font-family: monospace; font-size: 14px; border: 1px solid #ccc; padding: 5px; border-radius: 5px; overflow-x: auto; cursor: pointer; background: #f8f8f8; transition: box-shadow 0.2s;" title="Click to copy scheme: ACACGACGCTCTTCCGATCTXX>XXXXXXXXXXAGATCGGAAGAGCACACGTC" data-scheme="ACACGACGCTCTTCCGATCTXX>XXXXXXXXXXAGATCGGAAGAGCACACGTC"><span style="background-color: #A8E6CF; padding: 5px 8px; margin: 0 2px; border-radius: 3px; white-space: nowrap;">ACACGACGCTCTTCCGATCT</span><span style="background-color: #DCDCDC; padding: 5px 8px; margin: 0 2px; border-radius: 3px; white-space: nowrap;">XX</span><div style="position: relative; width: 30px; height: 30px; margin: 0 2px; text-align: center; line-height: 30px;"><div style="background-color: #FF6F61; width: 100%; height: 100%; position: absolute; top: 0; left: 0; clip-path: polygon(25% 0%, 75% 0%, 100% 50%, 75% 100%, 25% 100%, 0% 50%);"></div><span style="position: relative; z-index: 1; color: white; font-weight: bold;">></span></div><span style="background-color: #DCDCDC; padding: 5px 8px; margin: 0 2px; border-radius: 3px; white-space: nowrap;">XXXXXXXXXX</span><span style="background-color: #D1E8D1; padding: 5px 8px; margin: 0 2px; border-radius: 3px; white-space: nowrap;">AGATCGGAAGAGCACACGTC</span></div><div class="scheme-raw-tooltip" style="display:none; position:absolute; top:-30px; left:0; background:#222; color:#fff; padding:3px 8px; border-radius:4px; font-size:12px; z-index:10;">Copied!</div></div>
115
+ - Contains masked regions (XX, XXXXXXXXXX)
116
+ - Designed for xGen Methyl-Seq library kits.
117
+
118
+ ---
119
+ ### XGENSNMC (xGen snmC-Seq)
120
+
121
+ <div class="adapter-scheme" style="margin-bottom: 15px; position: relative;"><div class="copy-scheme-raw" style="display: flex; flex-wrap: nowrap; align-items: center; font-family: monospace; font-size: 14px; border: 1px solid #ccc; padding: 5px; border-radius: 5px; overflow-x: auto; cursor: pointer; background: #f8f8f8; transition: box-shadow 0.2s;" title="Click to copy scheme: ACACGACGCTCTTCCGATCTXXXXXX>XXXXXXXXXXXXXXXAGATCGGAAGAGCACACGTC" data-scheme="ACACGACGCTCTTCCGATCTXXXXXX>XXXXXXXXXXXXXXXAGATCGGAAGAGCACACGTC"><span style="background-color: #A8E6CF; padding: 5px 8px; margin: 0 2px; border-radius: 3px; white-space: nowrap;">ACACGACGCTCTTCCGATCT</span><span style="background-color: #DCDCDC; padding: 5px 8px; margin: 0 2px; border-radius: 3px; white-space: nowrap;">XXXXXX</span><div style="position: relative; width: 30px; height: 30px; margin: 0 2px; text-align: center; line-height: 30px;"><div style="background-color: #FF6F61; width: 100%; height: 100%; position: absolute; top: 0; left: 0; clip-path: polygon(25% 0%, 75% 0%, 100% 50%, 75% 100%, 25% 100%, 0% 50%);"></div><span style="position: relative; z-index: 1; color: white; font-weight: bold;">></span></div><span style="background-color: #DCDCDC; padding: 5px 8px; margin: 0 2px; border-radius: 3px; white-space: nowrap;">XXXXXXXXXXXXXXX</span><span style="background-color: #D1E8D1; padding: 5px 8px; margin: 0 2px; border-radius: 3px; white-space: nowrap;">AGATCGGAAGAGCACACGTC</span></div><div class="scheme-raw-tooltip" style="display:none; position:absolute; top:-30px; left:0; background:#222; color:#fff; padding:3px 8px; border-radius:4px; font-size:12px; z-index:10;">Copied!</div></div>
122
+ - Contains extensive masked regions (XXXXXX, XXXXXXXXXXXXXXX)
123
+ - Designed for xGen single-nucleus methylC-Seq (snmC-Seq) library kits.
124
+
125
+ ---
126
+ ### PBAT (PBAT (Post-Bisulfite Adapter Tagging))
127
+
128
+ <div class="adapter-scheme" style="margin-bottom: 15px; position: relative;"><div class="copy-scheme-raw" style="display: flex; flex-wrap: nowrap; align-items: center; font-family: monospace; font-size: 14px; border: 1px solid #ccc; padding: 5px; border-radius: 5px; overflow-x: auto; cursor: pointer; background: #f8f8f8; transition: box-shadow 0.2s;" title="Click to copy scheme: ACACGACGCTCTTCCGATCTXXXXXX<XXXXXXAGATCGGAAGAGCACACGTC" data-scheme="ACACGACGCTCTTCCGATCTXXXXXX<XXXXXXAGATCGGAAGAGCACACGTC"><span style="background-color: #A8E6CF; padding: 5px 8px; margin: 0 2px; border-radius: 3px; white-space: nowrap;">ACACGACGCTCTTCCGATCT</span><span style="background-color: #DCDCDC; padding: 5px 8px; margin: 0 2px; border-radius: 3px; white-space: nowrap;">XXXXXX</span><div style="position: relative; width: 30px; height: 30px; margin: 0 2px; text-align: center; line-height: 30px;"><div style="background-color: #FF6F61; width: 100%; height: 100%; position: absolute; top: 0; left: 0; clip-path: polygon(25% 0%, 75% 0%, 100% 50%, 75% 100%, 25% 100%, 0% 50%);"></div><span style="position: relative; z-index: 1; color: white; font-weight: bold;"><</span></div><span style="background-color: #DCDCDC; padding: 5px 8px; margin: 0 2px; border-radius: 3px; white-space: nowrap;">XXXXXX</span><span style="background-color: #D1E8D1; padding: 5px 8px; margin: 0 2px; border-radius: 3px; white-space: nowrap;">AGATCGGAAGAGCACACGTC</span></div><div class="scheme-raw-tooltip" style="display:none; position:absolute; top:-30px; left:0; background:#222; color:#fff; padding:3px 8px; border-radius:4px; font-size:12px; z-index:10;">Copied!</div></div>
129
+ - Contains masked regions (XXXXXX on both sides)
130
+ - Used for PBAT-style bisulfite sequencing libraries.
131
+
132
+ ---
133
+ ### NEXTERA (Nextera (General))
134
+
135
+ <div class="adapter-scheme" style="margin-bottom: 15px; position: relative;"><div class="copy-scheme-raw" style="display: flex; flex-wrap: nowrap; align-items: center; font-family: monospace; font-size: 14px; border: 1px solid #ccc; padding: 5px; border-radius: 5px; overflow-x: auto; cursor: pointer; background: #f8f8f8; transition: box-shadow 0.2s;" title="Click to copy scheme: AGATGTGTATAAGAGACAG>CTGTCTCTTATACACATCT" data-scheme="AGATGTGTATAAGAGACAG>CTGTCTCTTATACACATCT"><span style="background-color: #A8E6CF; padding: 5px 8px; margin: 0 2px; border-radius: 3px; white-space: nowrap;">AGATGTGTATAAGAGACAG</span><div style="position: relative; width: 30px; height: 30px; margin: 0 2px; text-align: center; line-height: 30px;"><div style="background-color: #FF6F61; width: 100%; height: 100%; position: absolute; top: 0; left: 0; clip-path: polygon(25% 0%, 75% 0%, 100% 50%, 75% 100%, 25% 100%, 0% 50%);"></div><span style="position: relative; z-index: 1; color: white; font-weight: bold;">></span></div><span style="background-color: #D1E8D1; padding: 5px 8px; margin: 0 2px; border-radius: 3px; white-space: nowrap;">CTGTCTCTTATACACATCT</span></div><div class="scheme-raw-tooltip" style="display:none; position:absolute; top:-30px; left:0; background:#222; color:#fff; padding:3px 8px; border-radius:4px; font-size:12px; z-index:10;">Copied!</div></div>
136
+ - Standard Nextera transposase-based library preparation.
137
+ - No UMIs by default in this basic scheme.
138
+ - Usually used for ATAC-seq libraries.
139
+
140
+ ---
141
+ <script>(function() { function showTooltip(el) { var tooltip = el.parentElement.querySelector(".scheme-raw-tooltip"); if (tooltip) { tooltip.style.display = "block"; setTimeout(function() { tooltip.style.display = "none"; }, 1200); } } document.querySelectorAll(".copy-scheme-raw").forEach(function(block) { block.addEventListener("mouseenter", function() { block.style.boxShadow = "0 0 0 2px #FF6F61"; }); block.addEventListener("mouseleave", function() { block.style.boxShadow = ""; }); block.addEventListener("click", function(e) { var scheme = block.getAttribute("data-scheme"); if (navigator.clipboard) { navigator.clipboard.writeText(scheme).then(function() { showTooltip(block); }); } else { var textarea = document.createElement("textarea"); textarea.value = scheme; document.body.appendChild(textarea); textarea.select(); document.execCommand("copy"); document.body.removeChild(textarea); showTooltip(block); } }); });})();</script>
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "cutseq"
3
- version = "0.0.63"
3
+ version = "0.0.65"
4
4
  description = "Automatically cut adapter / barcode / UMI from NGS data"
5
5
  authors = [{ name = "Ye Chang", email = "yech1990@gmail.com" }]
6
6
  requires-python = "~=3.9"