barcoding

package
v0.0.0-...-85e8820 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 2, 2024 License: MIT Imports: 8 Imported by: 0

Documentation

Index

Examples

Constants

This section is empty.

Variables

View Source
var DefaultBarcodes = DualBarcodesToPrimerSet([]DualBarcode{
	{"A1", "GGAAAAGCAAAACTAAAACG", "GAACCACAACCTTAACCTGA"},
	{"C1", "GAAGGACAAGGTTAAGGTGA", "GAACCACAACCTTAACCTGA"},
	{"E1", "GGTGAAGGTCAAGGGTAAGG", "GAACCACAACCTTAACCTGA"},
	{"G1", "TAAGGGGAAGGGCAAGGCTA", "GAACCACAACCTTAACCTGA"},
	{"I1", "GGCTAAGGCGAAGGCCAAGC", "GAACCACAACCTTAACCTGA"},
	{"K1", "CAAGCATAAGCAGAAGCACA", "GAACCACAACCTTAACCTGA"},
	{"M1", "GCACAAGCTTAAGCTGAAGC", "GAACCACAACCTTAACCTGA"},
	{"O1", "GAAGCTCAAGCGTAAGCGGA", "GAACCACAACCTTAACCTGA"},
	{"A2", "GGAAAAGCAAAACTAAAACG", "CCTGAACCTCAACCGTAACC"},
	{"C2", "GAAGGACAAGGTTAAGGTGA", "CCTGAACCTCAACCGTAACC"},
	{"E2", "GGTGAAGGTCAAGGGTAAGG", "CCTGAACCTCAACCGTAACC"},
	{"G2", "TAAGGGGAAGGGCAAGGCTA", "CCTGAACCTCAACCGTAACC"},
	{"I2", "GGCTAAGGCGAAGGCCAAGC", "CCTGAACCTCAACCGTAACC"},
	{"K2", "CAAGCATAAGCAGAAGCACA", "CCTGAACCTCAACCGTAACC"},
	{"M2", "GCACAAGCTTAAGCTGAAGC", "CCTGAACCTCAACCGTAACC"},
	{"O2", "GAAGCTCAAGCGTAAGCGGA", "CCTGAACCTCAACCGTAACC"},
	{"A3", "GGAAAAGCAAAACTAAAACG", "TAACCGGAACCGCAACCCTA"},
	{"C3", "GAAGGACAAGGTTAAGGTGA", "TAACCGGAACCGCAACCCTA"},
	{"E3", "GGTGAAGGTCAAGGGTAAGG", "TAACCGGAACCGCAACCCTA"},
	{"G3", "TAAGGGGAAGGGCAAGGCTA", "TAACCGGAACCGCAACCCTA"},
	{"I3", "GGCTAAGGCGAAGGCCAAGC", "TAACCGGAACCGCAACCCTA"},
	{"K3", "CAAGCATAAGCAGAAGCACA", "TAACCGGAACCGCAACCCTA"},
	{"M3", "GCACAAGCTTAAGCTGAAGC", "TAACCGGAACCGCAACCCTA"},
	{"O3", "GAAGCTCAAGCGTAAGCGGA", "TAACCGGAACCGCAACCCTA"},
	{"A4", "GGAAAAGCAAAACTAAAACG", "CCCTAACCCGAACCCCATAT"},
	{"C4", "GAAGGACAAGGTTAAGGTGA", "CCCTAACCCGAACCCCATAT"},
	{"E4", "GGTGAAGGTCAAGGGTAAGG", "CCCTAACCCGAACCCCATAT"},
	{"G4", "TAAGGGGAAGGGCAAGGCTA", "CCCTAACCCGAACCCCATAT"},
	{"I4", "GGCTAAGGCGAAGGCCAAGC", "CCCTAACCCGAACCCCATAT"},
	{"K4", "CAAGCATAAGCAGAAGCACA", "CCCTAACCCGAACCCCATAT"},
	{"M4", "GCACAAGCTTAAGCTGAAGC", "CCCTAACCCGAACCCCATAT"},
	{"O4", "GAAGCTCAAGCGTAAGCGGA", "CCCTAACCCGAACCCCATAT"},
	{"A5", "GGAAAAGCAAAACTAAAACG", "GGATATGCATATCTATATCG"},
	{"C5", "GAAGGACAAGGTTAAGGTGA", "GGATATGCATATCTATATCG"},
	{"E5", "GGTGAAGGTCAAGGGTAAGG", "GGATATGCATATCTATATCG"},
	{"G5", "TAAGGGGAAGGGCAAGGCTA", "GGATATGCATATCTATATCG"},
	{"I5", "GGCTAAGGCGAAGGCCAAGC", "GGATATGCATATCTATATCG"},
	{"K5", "CAAGCATAAGCAGAAGCACA", "GGATATGCATATCTATATCG"},
	{"M5", "GCACAAGCTTAAGCTGAAGC", "GGATATGCATATCTATATCG"},
	{"O5", "GAAGCTCAAGCGTAAGCGGA", "GGATATGCATATCTATATCG"},
	{"A6", "GGAAAAGCAAAACTAAAACG", "CGTATGCGGATGCGCATGCC"},
	{"C6", "GAAGGACAAGGTTAAGGTGA", "CGTATGCGGATGCGCATGCC"},
	{"E6", "GGTGAAGGTCAAGGGTAAGG", "CGTATGCGGATGCGCATGCC"},
	{"G6", "TAAGGGGAAGGGCAAGGCTA", "CGTATGCGGATGCGCATGCC"},
	{"I6", "GGCTAAGGCGAAGGCCAAGC", "CGTATGCGGATGCGCATGCC"},
	{"K6", "CAAGCATAAGCAGAAGCACA", "CGTATGCGGATGCGCATGCC"},
	{"M6", "GCACAAGCTTAAGCTGAAGC", "CGTATGCGGATGCGCATGCC"},
	{"O6", "GAAGCTCAAGCGTAAGCGGA", "CGTATGCGGATGCGCATGCC"},
	{"A7", "GGAAAAGCAAAACTAAAACG", "ATGCCTATGCCGATGCCCAT"},
	{"C7", "GAAGGACAAGGTTAAGGTGA", "ATGCCTATGCCGATGCCCAT"},
	{"E7", "GGTGAAGGTCAAGGGTAAGG", "ATGCCTATGCCGATGCCCAT"},
	{"G7", "TAAGGGGAAGGGCAAGGCTA", "ATGCCTATGCCGATGCCCAT"},
	{"I7", "GGCTAAGGCGAAGGCCAAGC", "ATGCCTATGCCGATGCCCAT"},
	{"K7", "CAAGCATAAGCAGAAGCACA", "ATGCCTATGCCGATGCCCAT"},
	{"M7", "GCACAAGCTTAAGCTGAAGC", "ATGCCTATGCCGATGCCCAT"},
	{"O7", "GAAGCTCAAGCGTAAGCGGA", "ATGCCTATGCCGATGCCCAT"},
	{"A8", "GGAAAAGCAAAACTAAAACG", "CCCATCATCAGTATCAGGAT"},
	{"C8", "GAAGGACAAGGTTAAGGTGA", "CCCATCATCAGTATCAGGAT"},
	{"E8", "GGTGAAGGTCAAGGGTAAGG", "CCCATCATCAGTATCAGGAT"},
	{"G8", "TAAGGGGAAGGGCAAGGCTA", "CCCATCATCAGTATCAGGAT"},
	{"I8", "GGCTAAGGCGAAGGCCAAGC", "CCCATCATCAGTATCAGGAT"},
	{"K8", "CAAGCATAAGCAGAAGCACA", "CCCATCATCAGTATCAGGAT"},
	{"M8", "GCACAAGCTTAAGCTGAAGC", "CCCATCATCAGTATCAGGAT"},
	{"O8", "GAAGCTCAAGCGTAAGCGGA", "CCCATCATCAGTATCAGGAT"},
	{"A9", "GGAAAAGCAAAACTAAAACG", "AGGATCAGCATCACTATCAC"},
	{"C9", "GAAGGACAAGGTTAAGGTGA", "AGGATCAGCATCACTATCAC"},
	{"E9", "GGTGAAGGTCAAGGGTAAGG", "AGGATCAGCATCACTATCAC"},
	{"G9", "TAAGGGGAAGGGCAAGGCTA", "AGGATCAGCATCACTATCAC"},
	{"I9", "GGCTAAGGCGAAGGCCAAGC", "AGGATCAGCATCACTATCAC"},
	{"K9", "CAAGCATAAGCAGAAGCACA", "AGGATCAGCATCACTATCAC"},
	{"M9", "GCACAAGCTTAAGCTGAAGC", "AGGATCAGCATCACTATCAC"},
	{"O9", "GAAGCTCAAGCGTAAGCGGA", "AGGATCAGCATCACTATCAC"},
	{"A10", "GGAAAAGCAAAACTAAAACG", "ATCACGATCACCATCTAGAT"},
	{"C10", "GAAGGACAAGGTTAAGGTGA", "ATCACGATCACCATCTAGAT"},
	{"E10", "GGTGAAGGTCAAGGGTAAGG", "ATCACGATCACCATCTAGAT"},
	{"G10", "TAAGGGGAAGGGCAAGGCTA", "ATCACGATCACCATCTAGAT"},
	{"I10", "GGCTAAGGCGAAGGCCAAGC", "ATCACGATCACCATCTAGAT"},
	{"K10", "CAAGCATAAGCAGAAGCACA", "ATCACGATCACCATCTAGAT"},
	{"M10", "GCACAAGCTTAAGCTGAAGC", "ATCACGATCACCATCTAGAT"},
	{"O10", "GAAGCTCAAGCGTAAGCGGA", "ATCACGATCACCATCTAGAT"},
	{"A11", "GGAAAAGCAAAACTAAAACG", "TCTTGATCTTCATCTGTATC"},
	{"C11", "GAAGGACAAGGTTAAGGTGA", "TCTTGATCTTCATCTGTATC"},
	{"E11", "GGTGAAGGTCAAGGGTAAGG", "TCTTGATCTTCATCTGTATC"},
	{"G11", "TAAGGGGAAGGGCAAGGCTA", "TCTTGATCTTCATCTGTATC"},
	{"I11", "GGCTAAGGCGAAGGCCAAGC", "TCTTGATCTTCATCTGTATC"},
	{"K11", "CAAGCATAAGCAGAAGCACA", "TCTTGATCTTCATCTGTATC"},
	{"M11", "GCACAAGCTTAAGCTGAAGC", "TCTTGATCTTCATCTGTATC"},
	{"O11", "GAAGCTCAAGCGTAAGCGGA", "TCTTGATCTTCATCTGTATC"},
	{"A12", "GGAAAAGCAAAACTAAAACG", "CCAGACACAGACTTAGACTG"},
	{"C12", "GAAGGACAAGGTTAAGGTGA", "CCAGACACAGACTTAGACTG"},
	{"E12", "GGTGAAGGTCAAGGGTAAGG", "CCAGACACAGACTTAGACTG"},
	{"G12", "TAAGGGGAAGGGCAAGGCTA", "CCAGACACAGACTTAGACTG"},
	{"I12", "GGCTAAGGCGAAGGCCAAGC", "CCAGACACAGACTTAGACTG"},
	{"K12", "CAAGCATAAGCAGAAGCACA", "CCAGACACAGACTTAGACTG"},
	{"M12", "GCACAAGCTTAAGCTGAAGC", "CCAGACACAGACTTAGACTG"},
	{"O12", "GAAGCTCAAGCGTAAGCGGA", "CCAGACACAGACTTAGACTG"},
	{"A13", "GGAAAAGCAAAACTAAAACG", "GACTGAGACTCAGACGTAGA"},
	{"C13", "GAAGGACAAGGTTAAGGTGA", "GACTGAGACTCAGACGTAGA"},
	{"E13", "GGTGAAGGTCAAGGGTAAGG", "GACTGAGACTCAGACGTAGA"},
	{"G13", "TAAGGGGAAGGGCAAGGCTA", "GACTGAGACTCAGACGTAGA"},
	{"I13", "GGCTAAGGCGAAGGCCAAGC", "GACTGAGACTCAGACGTAGA"},
	{"K13", "CAAGCATAAGCAGAAGCACA", "GACTGAGACTCAGACGTAGA"},
	{"M13", "GCACAAGCTTAAGCTGAAGC", "GACTGAGACTCAGACGTAGA"},
	{"O13", "GAAGCTCAAGCGTAAGCGGA", "GACTGAGACTCAGACGTAGA"},
	{"A14", "GGAAAAGCAAAACTAAAACG", "GTAGACGGAGACGCAGACCT"},
	{"C14", "GAAGGACAAGGTTAAGGTGA", "GTAGACGGAGACGCAGACCT"},
	{"E14", "GGTGAAGGTCAAGGGTAAGG", "GTAGACGGAGACGCAGACCT"},
	{"G14", "TAAGGGGAAGGGCAAGGCTA", "GTAGACGGAGACGCAGACCT"},
	{"I14", "GGCTAAGGCGAAGGCCAAGC", "GTAGACGGAGACGCAGACCT"},
	{"K14", "CAAGCATAAGCAGAAGCACA", "GTAGACGGAGACGCAGACCT"},
	{"M14", "GCACAAGCTTAAGCTGAAGC", "GTAGACGGAGACGCAGACCT"},
	{"O14", "GAAGCTCAAGCGTAAGCGGA", "GTAGACGGAGACGCAGACCT"},
	{"A15", "GGAAAAGCAAAACTAAAACG", "GACCTAGACCGAGACCCAGT"},
	{"C15", "GAAGGACAAGGTTAAGGTGA", "GACCTAGACCGAGACCCAGT"},
	{"E15", "GGTGAAGGTCAAGGGTAAGG", "GACCTAGACCGAGACCCAGT"},
	{"G15", "TAAGGGGAAGGGCAAGGCTA", "GACCTAGACCGAGACCCAGT"},
	{"I15", "GGCTAAGGCGAAGGCCAAGC", "GACCTAGACCGAGACCCAGT"},
	{"K15", "CAAGCATAAGCAGAAGCACA", "GACCTAGACCGAGACCCAGT"},
	{"M15", "GCACAAGCTTAAGCTGAAGC", "GACCTAGACCGAGACCCAGT"},
	{"O15", "GAAGCTCAAGCGTAAGCGGA", "GACCTAGACCGAGACCCAGT"},
	{"A16", "GGAAAAGCAAAACTAAAACG", "CCAGTAGTAGGAGTAGCAGT"},
	{"C16", "GAAGGACAAGGTTAAGGTGA", "CCAGTAGTAGGAGTAGCAGT"},
	{"E16", "GGTGAAGGTCAAGGGTAAGG", "CCAGTAGTAGGAGTAGCAGT"},
	{"G16", "TAAGGGGAAGGGCAAGGCTA", "CCAGTAGTAGGAGTAGCAGT"},
	{"I16", "GGCTAAGGCGAAGGCCAAGC", "CCAGTAGTAGGAGTAGCAGT"},
	{"K16", "CAAGCATAAGCAGAAGCACA", "CCAGTAGTAGGAGTAGCAGT"},
	{"M16", "GCACAAGCTTAAGCTGAAGC", "CCAGTAGTAGGAGTAGCAGT"},
	{"O16", "GAAGCTCAAGCGTAAGCGGA", "CCAGTAGTAGGAGTAGCAGT"},
	{"A17", "GGAAAAGCAAAACTAAAACG", "GCAGTACTAGTACGAGTACC"},
	{"C17", "GAAGGACAAGGTTAAGGTGA", "GCAGTACTAGTACGAGTACC"},
	{"E17", "GGTGAAGGTCAAGGGTAAGG", "GCAGTACTAGTACGAGTACC"},
	{"G17", "TAAGGGGAAGGGCAAGGCTA", "GCAGTACTAGTACGAGTACC"},
	{"I17", "GGCTAAGGCGAAGGCCAAGC", "GCAGTACTAGTACGAGTACC"},
	{"K17", "CAAGCATAAGCAGAAGCACA", "GCAGTACTAGTACGAGTACC"},
	{"M17", "GCACAAGCTTAAGCTGAAGC", "GCAGTACTAGTACGAGTACC"},
	{"O17", "GAAGCTCAAGCGTAAGCGGA", "GCAGTACTAGTACGAGTACC"},
	{"A18", "GGAAAAGCAAAACTAAAACG", "GTACCAGTTACAGTTTTAGT"},
	{"C18", "GAAGGACAAGGTTAAGGTGA", "GTACCAGTTACAGTTTTAGT"},
	{"E18", "GGTGAAGGTCAAGGGTAAGG", "GTACCAGTTACAGTTTTAGT"},
	{"G18", "TAAGGGGAAGGGCAAGGCTA", "GTACCAGTTACAGTTTTAGT"},
	{"I18", "GGCTAAGGCGAAGGCCAAGC", "GTACCAGTTACAGTTTTAGT"},
	{"K18", "CAAGCATAAGCAGAAGCACA", "GTACCAGTTACAGTTTTAGT"},
	{"M18", "GCACAAGCTTAAGCTGAAGC", "GTACCAGTTACAGTTTTAGT"},
	{"O18", "GAAGCTCAAGCGTAAGCGGA", "GTACCAGTTACAGTTTTAGT"},
	{"A19", "GGAAAAGCAAAACTAAAACG", "AGTTTGAGTTTCAGTTGTAG"},
	{"C19", "GAAGGACAAGGTTAAGGTGA", "AGTTTGAGTTTCAGTTGTAG"},
	{"E19", "GGTGAAGGTCAAGGGTAAGG", "AGTTTGAGTTTCAGTTGTAG"},
	{"G19", "TAAGGGGAAGGGCAAGGCTA", "AGTTTGAGTTTCAGTTGTAG"},
	{"I19", "GGCTAAGGCGAAGGCCAAGC", "AGTTTGAGTTTCAGTTGTAG"},
	{"K19", "CAAGCATAAGCAGAAGCACA", "AGTTTGAGTTTCAGTTGTAG"},
	{"M19", "GCACAAGCTTAAGCTGAAGC", "AGTTTGAGTTTCAGTTGTAG"},
	{"O19", "GAAGCTCAAGCGTAAGCGGA", "AGTTTGAGTTTCAGTTGTAG"},
	{"A20", "GGAAAAGCAAAACTAAAACG", "GTTCCAGTGACAGTGTTAGT"},
	{"C20", "GAAGGACAAGGTTAAGGTGA", "GTTCCAGTGACAGTGTTAGT"},
	{"E20", "GGTGAAGGTCAAGGGTAAGG", "GTTCCAGTGACAGTGTTAGT"},
	{"G20", "TAAGGGGAAGGGCAAGGCTA", "GTTCCAGTGACAGTGTTAGT"},
	{"I20", "GGCTAAGGCGAAGGCCAAGC", "GTTCCAGTGACAGTGTTAGT"},
	{"K20", "CAAGCATAAGCAGAAGCACA", "GTTCCAGTGACAGTGTTAGT"},
	{"M20", "GCACAAGCTTAAGCTGAAGC", "GTTCCAGTGACAGTGTTAGT"},
	{"O20", "GAAGCTCAAGCGTAAGCGGA", "GTTCCAGTGACAGTGTTAGT"},
	{"A21", "GGAAAAGCAAAACTAAAACG", "TTAGTGTGAGTGTCAGTGGT"},
	{"C21", "GAAGGACAAGGTTAAGGTGA", "TTAGTGTGAGTGTCAGTGGT"},
	{"E21", "GGTGAAGGTCAAGGGTAAGG", "TTAGTGTGAGTGTCAGTGGT"},
	{"G21", "TAAGGGGAAGGGCAAGGCTA", "TTAGTGTGAGTGTCAGTGGT"},
	{"I21", "GGCTAAGGCGAAGGCCAAGC", "TTAGTGTGAGTGTCAGTGGT"},
	{"K21", "CAAGCATAAGCAGAAGCACA", "TTAGTGTGAGTGTCAGTGGT"},
	{"M21", "GCACAAGCTTAAGCTGAAGC", "TTAGTGTGAGTGTCAGTGGT"},
	{"O21", "GAAGCTCAAGCGTAAGCGGA", "TTAGTGTGAGTGTCAGTGGT"},
	{"A22", "GGAAAAGCAAAACTAAAACG", "GTGGTAGTGGGAGTGGCAGT"},
	{"C22", "GAAGGACAAGGTTAAGGTGA", "GTGGTAGTGGGAGTGGCAGT"},
	{"E22", "GGTGAAGGTCAAGGGTAAGG", "GTGGTAGTGGGAGTGGCAGT"},
	{"G22", "TAAGGGGAAGGGCAAGGCTA", "GTGGTAGTGGGAGTGGCAGT"},
	{"I22", "GGCTAAGGCGAAGGCCAAGC", "GTGGTAGTGGGAGTGGCAGT"},
	{"K22", "CAAGCATAAGCAGAAGCACA", "GTGGTAGTGGGAGTGGCAGT"},
	{"M22", "GCACAAGCTTAAGCTGAAGC", "GTGGTAGTGGGAGTGGCAGT"},
	{"O22", "GAAGCTCAAGCGTAAGCGGA", "GTGGTAGTGGGAGTGGCAGT"},
	{"A23", "GGAAAAGCAAAACTAAAACG", "GCAGTGCTAGTGCGAGTGCC"},
	{"C23", "GAAGGACAAGGTTAAGGTGA", "GCAGTGCTAGTGCGAGTGCC"},
	{"E23", "GGTGAAGGTCAAGGGTAAGG", "GCAGTGCTAGTGCGAGTGCC"},
	{"G23", "TAAGGGGAAGGGCAAGGCTA", "GCAGTGCTAGTGCGAGTGCC"},
	{"I23", "GGCTAAGGCGAAGGCCAAGC", "GCAGTGCTAGTGCGAGTGCC"},
	{"K23", "CAAGCATAAGCAGAAGCACA", "GCAGTGCTAGTGCGAGTGCC"},
	{"M23", "GCACAAGCTTAAGCTGAAGC", "GCAGTGCTAGTGCGAGTGCC"},
	{"O23", "GAAGCTCAAGCGTAAGCGGA", "GCAGTGCTAGTGCGAGTGCC"},
	{"A24", "GGAAAAGCAAAACTAAAACG", "GTGCCAGTCACAGTCTTAGT"},
	{"C24", "GAAGGACAAGGTTAAGGTGA", "GTGCCAGTCACAGTCTTAGT"},
	{"E24", "GGTGAAGGTCAAGGGTAAGG", "GTGCCAGTCACAGTCTTAGT"},
	{"G24", "TAAGGGGAAGGGCAAGGCTA", "GTGCCAGTCACAGTCTTAGT"},
	{"I24", "GGCTAAGGCGAAGGCCAAGC", "GTGCCAGTCACAGTCTTAGT"},
	{"K24", "CAAGCATAAGCAGAAGCACA", "GTGCCAGTCACAGTCTTAGT"},
	{"M24", "GCACAAGCTTAAGCTGAAGC", "GTGCCAGTCACAGTCTTAGT"},
	{"O24", "GAAGCTCAAGCGTAAGCGGA", "GTGCCAGTCACAGTCTTAGT"},
	{"B1", "GCGGAAGCGCAAGCCTAAGC", "GAACCACAACCTTAACCTGA"},
	{"D1", "TAAGCCGAAGCCCAACAACA", "GAACCACAACCTTAACCTGA"},
	{"F1", "ACATGAACATCAACAGTAAC", "GAACCACAACCTTAACCTGA"},
	{"H1", "CGAGAACGACAACGTTAACG", "GAACCACAACCTTAACCTGA"},
	{"J1", "TAACGTGAACGTCAACGGTA", "GAACCACAACCTTAACCTGA"},
	{"L1", "CGGTAACGGGAACGGCAACG", "GAACCACAACCTTAACCTGA"},
	{"N1", "CAACGCTAACGCGAACGCCA", "GAACCACAACCTTAACCTGA"},
	{"P1", "CGCCAACCATAACCAGAACC", "GAACCACAACCTTAACCTGA"},
	{"B2", "GCGGAAGCGCAAGCCTAAGC", "CCTGAACCTCAACCGTAACC"},
	{"D2", "TAAGCCGAAGCCCAACAACA", "CCTGAACCTCAACCGTAACC"},
	{"F2", "ACATGAACATCAACAGTAAC", "CCTGAACCTCAACCGTAACC"},
	{"H2", "CGAGAACGACAACGTTAACG", "CCTGAACCTCAACCGTAACC"},
	{"J2", "TAACGTGAACGTCAACGGTA", "CCTGAACCTCAACCGTAACC"},
	{"L2", "CGGTAACGGGAACGGCAACG", "CCTGAACCTCAACCGTAACC"},
	{"N2", "CAACGCTAACGCGAACGCCA", "CCTGAACCTCAACCGTAACC"},
	{"P2", "CGCCAACCATAACCAGAACC", "CCTGAACCTCAACCGTAACC"},
	{"B3", "GCGGAAGCGCAAGCCTAAGC", "TAACCGGAACCGCAACCCTA"},
	{"D3", "TAAGCCGAAGCCCAACAACA", "TAACCGGAACCGCAACCCTA"},
	{"F3", "ACATGAACATCAACAGTAAC", "TAACCGGAACCGCAACCCTA"},
	{"H3", "CGAGAACGACAACGTTAACG", "TAACCGGAACCGCAACCCTA"},
	{"J3", "TAACGTGAACGTCAACGGTA", "TAACCGGAACCGCAACCCTA"},
	{"L3", "CGGTAACGGGAACGGCAACG", "TAACCGGAACCGCAACCCTA"},
	{"N3", "CAACGCTAACGCGAACGCCA", "TAACCGGAACCGCAACCCTA"},
	{"P3", "CGCCAACCATAACCAGAACC", "TAACCGGAACCGCAACCCTA"},
	{"B4", "GCGGAAGCGCAAGCCTAAGC", "CCCTAACCCGAACCCCATAT"},
	{"D4", "TAAGCCGAAGCCCAACAACA", "CCCTAACCCGAACCCCATAT"},
	{"F4", "ACATGAACATCAACAGTAAC", "CCCTAACCCGAACCCCATAT"},
	{"H4", "CGAGAACGACAACGTTAACG", "CCCTAACCCGAACCCCATAT"},
	{"J4", "TAACGTGAACGTCAACGGTA", "CCCTAACCCGAACCCCATAT"},
	{"L4", "CGGTAACGGGAACGGCAACG", "CCCTAACCCGAACCCCATAT"},
	{"N4", "CAACGCTAACGCGAACGCCA", "CCCTAACCCGAACCCCATAT"},
	{"P4", "CGCCAACCATAACCAGAACC", "CCCTAACCCGAACCCCATAT"},
	{"B5", "GCGGAAGCGCAAGCCTAAGC", "GGATATGCATATCTATATCG"},
	{"D5", "TAAGCCGAAGCCCAACAACA", "GGATATGCATATCTATATCG"},
	{"F5", "ACATGAACATCAACAGTAAC", "GGATATGCATATCTATATCG"},
	{"H5", "CGAGAACGACAACGTTAACG", "GGATATGCATATCTATATCG"},
	{"J5", "TAACGTGAACGTCAACGGTA", "GGATATGCATATCTATATCG"},
	{"L5", "CGGTAACGGGAACGGCAACG", "GGATATGCATATCTATATCG"},
	{"N5", "CAACGCTAACGCGAACGCCA", "GGATATGCATATCTATATCG"},
	{"P5", "CGCCAACCATAACCAGAACC", "GGATATGCATATCTATATCG"},
	{"B6", "GCGGAAGCGCAAGCCTAAGC", "CGTATGCGGATGCGCATGCC"},
	{"D6", "TAAGCCGAAGCCCAACAACA", "CGTATGCGGATGCGCATGCC"},
	{"F6", "ACATGAACATCAACAGTAAC", "CGTATGCGGATGCGCATGCC"},
	{"H6", "CGAGAACGACAACGTTAACG", "CGTATGCGGATGCGCATGCC"},
	{"J6", "TAACGTGAACGTCAACGGTA", "CGTATGCGGATGCGCATGCC"},
	{"L6", "CGGTAACGGGAACGGCAACG", "CGTATGCGGATGCGCATGCC"},
	{"N6", "CAACGCTAACGCGAACGCCA", "CGTATGCGGATGCGCATGCC"},
	{"P6", "CGCCAACCATAACCAGAACC", "CGTATGCGGATGCGCATGCC"},
	{"B7", "GCGGAAGCGCAAGCCTAAGC", "ATGCCTATGCCGATGCCCAT"},
	{"D7", "TAAGCCGAAGCCCAACAACA", "ATGCCTATGCCGATGCCCAT"},
	{"F7", "ACATGAACATCAACAGTAAC", "ATGCCTATGCCGATGCCCAT"},
	{"H7", "CGAGAACGACAACGTTAACG", "ATGCCTATGCCGATGCCCAT"},
	{"J7", "TAACGTGAACGTCAACGGTA", "ATGCCTATGCCGATGCCCAT"},
	{"L7", "CGGTAACGGGAACGGCAACG", "ATGCCTATGCCGATGCCCAT"},
	{"N7", "CAACGCTAACGCGAACGCCA", "ATGCCTATGCCGATGCCCAT"},
	{"P7", "CGCCAACCATAACCAGAACC", "ATGCCTATGCCGATGCCCAT"},
	{"B8", "GCGGAAGCGCAAGCCTAAGC", "CCCATCATCAGTATCAGGAT"},
	{"D8", "TAAGCCGAAGCCCAACAACA", "CCCATCATCAGTATCAGGAT"},
	{"F8", "ACATGAACATCAACAGTAAC", "CCCATCATCAGTATCAGGAT"},
	{"H8", "CGAGAACGACAACGTTAACG", "CCCATCATCAGTATCAGGAT"},
	{"J8", "TAACGTGAACGTCAACGGTA", "CCCATCATCAGTATCAGGAT"},
	{"L8", "CGGTAACGGGAACGGCAACG", "CCCATCATCAGTATCAGGAT"},
	{"N8", "CAACGCTAACGCGAACGCCA", "CCCATCATCAGTATCAGGAT"},
	{"P8", "CGCCAACCATAACCAGAACC", "CCCATCATCAGTATCAGGAT"},
	{"B9", "GCGGAAGCGCAAGCCTAAGC", "AGGATCAGCATCACTATCAC"},
	{"D9", "TAAGCCGAAGCCCAACAACA", "AGGATCAGCATCACTATCAC"},
	{"F9", "ACATGAACATCAACAGTAAC", "AGGATCAGCATCACTATCAC"},
	{"H9", "CGAGAACGACAACGTTAACG", "AGGATCAGCATCACTATCAC"},
	{"J9", "TAACGTGAACGTCAACGGTA", "AGGATCAGCATCACTATCAC"},
	{"L9", "CGGTAACGGGAACGGCAACG", "AGGATCAGCATCACTATCAC"},
	{"N9", "CAACGCTAACGCGAACGCCA", "AGGATCAGCATCACTATCAC"},
	{"P9", "CGCCAACCATAACCAGAACC", "AGGATCAGCATCACTATCAC"},
	{"B10", "GCGGAAGCGCAAGCCTAAGC", "ATCACGATCACCATCTAGAT"},
	{"D10", "TAAGCCGAAGCCCAACAACA", "ATCACGATCACCATCTAGAT"},
	{"F10", "ACATGAACATCAACAGTAAC", "ATCACGATCACCATCTAGAT"},
	{"H10", "CGAGAACGACAACGTTAACG", "ATCACGATCACCATCTAGAT"},
	{"J10", "TAACGTGAACGTCAACGGTA", "ATCACGATCACCATCTAGAT"},
	{"L10", "CGGTAACGGGAACGGCAACG", "ATCACGATCACCATCTAGAT"},
	{"N10", "CAACGCTAACGCGAACGCCA", "ATCACGATCACCATCTAGAT"},
	{"P10", "CGCCAACCATAACCAGAACC", "ATCACGATCACCATCTAGAT"},
	{"B11", "GCGGAAGCGCAAGCCTAAGC", "TCTTGATCTTCATCTGTATC"},
	{"D11", "TAAGCCGAAGCCCAACAACA", "TCTTGATCTTCATCTGTATC"},
	{"F11", "ACATGAACATCAACAGTAAC", "TCTTGATCTTCATCTGTATC"},
	{"H11", "CGAGAACGACAACGTTAACG", "TCTTGATCTTCATCTGTATC"},
	{"J11", "TAACGTGAACGTCAACGGTA", "TCTTGATCTTCATCTGTATC"},
	{"L11", "CGGTAACGGGAACGGCAACG", "TCTTGATCTTCATCTGTATC"},
	{"N11", "CAACGCTAACGCGAACGCCA", "TCTTGATCTTCATCTGTATC"},
	{"P11", "CGCCAACCATAACCAGAACC", "TCTTGATCTTCATCTGTATC"},
	{"B12", "GCGGAAGCGCAAGCCTAAGC", "CCAGACACAGACTTAGACTG"},
	{"D12", "TAAGCCGAAGCCCAACAACA", "CCAGACACAGACTTAGACTG"},
	{"F12", "ACATGAACATCAACAGTAAC", "CCAGACACAGACTTAGACTG"},
	{"H12", "CGAGAACGACAACGTTAACG", "CCAGACACAGACTTAGACTG"},
	{"J12", "TAACGTGAACGTCAACGGTA", "CCAGACACAGACTTAGACTG"},
	{"L12", "CGGTAACGGGAACGGCAACG", "CCAGACACAGACTTAGACTG"},
	{"N12", "CAACGCTAACGCGAACGCCA", "CCAGACACAGACTTAGACTG"},
	{"P12", "CGCCAACCATAACCAGAACC", "CCAGACACAGACTTAGACTG"},
	{"B13", "GCGGAAGCGCAAGCCTAAGC", "GACTGAGACTCAGACGTAGA"},
	{"D13", "TAAGCCGAAGCCCAACAACA", "GACTGAGACTCAGACGTAGA"},
	{"F13", "ACATGAACATCAACAGTAAC", "GACTGAGACTCAGACGTAGA"},
	{"H13", "CGAGAACGACAACGTTAACG", "GACTGAGACTCAGACGTAGA"},
	{"J13", "TAACGTGAACGTCAACGGTA", "GACTGAGACTCAGACGTAGA"},
	{"L13", "CGGTAACGGGAACGGCAACG", "GACTGAGACTCAGACGTAGA"},
	{"N13", "CAACGCTAACGCGAACGCCA", "GACTGAGACTCAGACGTAGA"},
	{"P13", "CGCCAACCATAACCAGAACC", "GACTGAGACTCAGACGTAGA"},
	{"B14", "GCGGAAGCGCAAGCCTAAGC", "GTAGACGGAGACGCAGACCT"},
	{"D14", "TAAGCCGAAGCCCAACAACA", "GTAGACGGAGACGCAGACCT"},
	{"F14", "ACATGAACATCAACAGTAAC", "GTAGACGGAGACGCAGACCT"},
	{"H14", "CGAGAACGACAACGTTAACG", "GTAGACGGAGACGCAGACCT"},
	{"J14", "TAACGTGAACGTCAACGGTA", "GTAGACGGAGACGCAGACCT"},
	{"L14", "CGGTAACGGGAACGGCAACG", "GTAGACGGAGACGCAGACCT"},
	{"N14", "CAACGCTAACGCGAACGCCA", "GTAGACGGAGACGCAGACCT"},
	{"P14", "CGCCAACCATAACCAGAACC", "GTAGACGGAGACGCAGACCT"},
	{"B15", "GCGGAAGCGCAAGCCTAAGC", "GACCTAGACCGAGACCCAGT"},
	{"D15", "TAAGCCGAAGCCCAACAACA", "GACCTAGACCGAGACCCAGT"},
	{"F15", "ACATGAACATCAACAGTAAC", "GACCTAGACCGAGACCCAGT"},
	{"H15", "CGAGAACGACAACGTTAACG", "GACCTAGACCGAGACCCAGT"},
	{"J15", "TAACGTGAACGTCAACGGTA", "GACCTAGACCGAGACCCAGT"},
	{"L15", "CGGTAACGGGAACGGCAACG", "GACCTAGACCGAGACCCAGT"},
	{"N15", "CAACGCTAACGCGAACGCCA", "GACCTAGACCGAGACCCAGT"},
	{"P15", "CGCCAACCATAACCAGAACC", "GACCTAGACCGAGACCCAGT"},
	{"B16", "GCGGAAGCGCAAGCCTAAGC", "CCAGTAGTAGGAGTAGCAGT"},
	{"D16", "TAAGCCGAAGCCCAACAACA", "CCAGTAGTAGGAGTAGCAGT"},
	{"F16", "ACATGAACATCAACAGTAAC", "CCAGTAGTAGGAGTAGCAGT"},
	{"H16", "CGAGAACGACAACGTTAACG", "CCAGTAGTAGGAGTAGCAGT"},
	{"J16", "TAACGTGAACGTCAACGGTA", "CCAGTAGTAGGAGTAGCAGT"},
	{"L16", "CGGTAACGGGAACGGCAACG", "CCAGTAGTAGGAGTAGCAGT"},
	{"N16", "CAACGCTAACGCGAACGCCA", "CCAGTAGTAGGAGTAGCAGT"},
	{"P16", "CGCCAACCATAACCAGAACC", "CCAGTAGTAGGAGTAGCAGT"},
	{"B17", "GCGGAAGCGCAAGCCTAAGC", "GCAGTACTAGTACGAGTACC"},
	{"D17", "TAAGCCGAAGCCCAACAACA", "GCAGTACTAGTACGAGTACC"},
	{"F17", "ACATGAACATCAACAGTAAC", "GCAGTACTAGTACGAGTACC"},
	{"H17", "CGAGAACGACAACGTTAACG", "GCAGTACTAGTACGAGTACC"},
	{"J17", "TAACGTGAACGTCAACGGTA", "GCAGTACTAGTACGAGTACC"},
	{"L17", "CGGTAACGGGAACGGCAACG", "GCAGTACTAGTACGAGTACC"},
	{"N17", "CAACGCTAACGCGAACGCCA", "GCAGTACTAGTACGAGTACC"},
	{"P17", "CGCCAACCATAACCAGAACC", "GCAGTACTAGTACGAGTACC"},
	{"B18", "GCGGAAGCGCAAGCCTAAGC", "GTACCAGTTACAGTTTTAGT"},
	{"D18", "TAAGCCGAAGCCCAACAACA", "GTACCAGTTACAGTTTTAGT"},
	{"F18", "ACATGAACATCAACAGTAAC", "GTACCAGTTACAGTTTTAGT"},
	{"H18", "CGAGAACGACAACGTTAACG", "GTACCAGTTACAGTTTTAGT"},
	{"J18", "TAACGTGAACGTCAACGGTA", "GTACCAGTTACAGTTTTAGT"},
	{"L18", "CGGTAACGGGAACGGCAACG", "GTACCAGTTACAGTTTTAGT"},
	{"N18", "CAACGCTAACGCGAACGCCA", "GTACCAGTTACAGTTTTAGT"},
	{"P18", "CGCCAACCATAACCAGAACC", "GTACCAGTTACAGTTTTAGT"},
	{"B19", "GCGGAAGCGCAAGCCTAAGC", "AGTTTGAGTTTCAGTTGTAG"},
	{"D19", "TAAGCCGAAGCCCAACAACA", "AGTTTGAGTTTCAGTTGTAG"},
	{"F19", "ACATGAACATCAACAGTAAC", "AGTTTGAGTTTCAGTTGTAG"},
	{"H19", "CGAGAACGACAACGTTAACG", "AGTTTGAGTTTCAGTTGTAG"},
	{"J19", "TAACGTGAACGTCAACGGTA", "AGTTTGAGTTTCAGTTGTAG"},
	{"L19", "CGGTAACGGGAACGGCAACG", "AGTTTGAGTTTCAGTTGTAG"},
	{"N19", "CAACGCTAACGCGAACGCCA", "AGTTTGAGTTTCAGTTGTAG"},
	{"P19", "CGCCAACCATAACCAGAACC", "AGTTTGAGTTTCAGTTGTAG"},
	{"B20", "GCGGAAGCGCAAGCCTAAGC", "GTTCCAGTGACAGTGTTAGT"},
	{"D20", "TAAGCCGAAGCCCAACAACA", "GTTCCAGTGACAGTGTTAGT"},
	{"F20", "ACATGAACATCAACAGTAAC", "GTTCCAGTGACAGTGTTAGT"},
	{"H20", "CGAGAACGACAACGTTAACG", "GTTCCAGTGACAGTGTTAGT"},
	{"J20", "TAACGTGAACGTCAACGGTA", "GTTCCAGTGACAGTGTTAGT"},
	{"L20", "CGGTAACGGGAACGGCAACG", "GTTCCAGTGACAGTGTTAGT"},
	{"N20", "CAACGCTAACGCGAACGCCA", "GTTCCAGTGACAGTGTTAGT"},
	{"P20", "CGCCAACCATAACCAGAACC", "GTTCCAGTGACAGTGTTAGT"},
	{"B21", "GCGGAAGCGCAAGCCTAAGC", "TTAGTGTGAGTGTCAGTGGT"},
	{"D21", "TAAGCCGAAGCCCAACAACA", "TTAGTGTGAGTGTCAGTGGT"},
	{"F21", "ACATGAACATCAACAGTAAC", "TTAGTGTGAGTGTCAGTGGT"},
	{"H21", "CGAGAACGACAACGTTAACG", "TTAGTGTGAGTGTCAGTGGT"},
	{"J21", "TAACGTGAACGTCAACGGTA", "TTAGTGTGAGTGTCAGTGGT"},
	{"L21", "CGGTAACGGGAACGGCAACG", "TTAGTGTGAGTGTCAGTGGT"},
	{"N21", "CAACGCTAACGCGAACGCCA", "TTAGTGTGAGTGTCAGTGGT"},
	{"P21", "CGCCAACCATAACCAGAACC", "TTAGTGTGAGTGTCAGTGGT"},
	{"B22", "GCGGAAGCGCAAGCCTAAGC", "GTGGTAGTGGGAGTGGCAGT"},
	{"D22", "TAAGCCGAAGCCCAACAACA", "GTGGTAGTGGGAGTGGCAGT"},
	{"F22", "ACATGAACATCAACAGTAAC", "GTGGTAGTGGGAGTGGCAGT"},
	{"H22", "CGAGAACGACAACGTTAACG", "GTGGTAGTGGGAGTGGCAGT"},
	{"J22", "TAACGTGAACGTCAACGGTA", "GTGGTAGTGGGAGTGGCAGT"},
	{"L22", "CGGTAACGGGAACGGCAACG", "GTGGTAGTGGGAGTGGCAGT"},
	{"N22", "CAACGCTAACGCGAACGCCA", "GTGGTAGTGGGAGTGGCAGT"},
	{"P22", "CGCCAACCATAACCAGAACC", "GTGGTAGTGGGAGTGGCAGT"},
	{"B23", "GCGGAAGCGCAAGCCTAAGC", "GCAGTGCTAGTGCGAGTGCC"},
	{"D23", "TAAGCCGAAGCCCAACAACA", "GCAGTGCTAGTGCGAGTGCC"},
	{"F23", "ACATGAACATCAACAGTAAC", "GCAGTGCTAGTGCGAGTGCC"},
	{"H23", "CGAGAACGACAACGTTAACG", "GCAGTGCTAGTGCGAGTGCC"},
	{"J23", "TAACGTGAACGTCAACGGTA", "GCAGTGCTAGTGCGAGTGCC"},
	{"L23", "CGGTAACGGGAACGGCAACG", "GCAGTGCTAGTGCGAGTGCC"},
	{"N23", "CAACGCTAACGCGAACGCCA", "GCAGTGCTAGTGCGAGTGCC"},
	{"P23", "CGCCAACCATAACCAGAACC", "GCAGTGCTAGTGCGAGTGCC"},
	{"B24", "GCGGAAGCGCAAGCCTAAGC", "GTGCCAGTCACAGTCTTAGT"},
	{"D24", "TAAGCCGAAGCCCAACAACA", "GTGCCAGTCACAGTCTTAGT"},
	{"F24", "ACATGAACATCAACAGTAAC", "GTGCCAGTCACAGTCTTAGT"},
	{"H24", "CGAGAACGACAACGTTAACG", "GTGCCAGTCACAGTCTTAGT"},
	{"J24", "TAACGTGAACGTCAACGGTA", "GTGCCAGTCACAGTCTTAGT"},
	{"L24", "CGGTAACGGGAACGGCAACG", "GTGCCAGTCACAGTCTTAGT"},
	{"N24", "CAACGCTAACGCGAACGCCA", "GTGCCAGTCACAGTCTTAGT"},
	{"P24", "CGCCAACCATAACCAGAACC", "GTGCCAGTCACAGTCTTAGT"},
})
View Source
var EdgeCheckSize = 120

EdgeCheckSize is how long to check from the edge of both sides of a read. This is important because SmithWaterman alignment, used for aligning barcodes, is a quadratic algorithm. Nanopore sequencing prep, especially ligation preparation, can add DNA to either end of an amplicon. The native barcode (NB) and native adapter (NA) sequence may or may not be on both sides, adding ~80bp to the read.

View Source
var MinimalReadSize = 200

MinimalReadSize is the minimal size of reads needed to barcode. This is mostly important for Nanopore reads, since amplicon Nanopore sequencing tends to generate quite a few small reads from PCR products that we do not want to barcode.

View Source
var ScoreMagicNumber = 28

ScoreMagicNumber is the SmithWaterman score needed to match a barcode. 28 is chosen as a magic number that fits pretty well with normal 40bp barcodes. (20bp primer + 20bp barcode)

Functions

func DualBarcodeSequence

func DualBarcodeSequence(sequence string, forwardPrimer string, reversePrimer string, primerSet DualBarcodePrimerSet) (string, error)

DualBarcodeSequence analyzes a sequence for both a forward and reverse barcode pair and returns their well.

Example
package main

import (
	"fmt"
	"strings"

	_ "embed"
	"github.com/koeng101/dnadesign/lib/bio"
	"github.com/koeng101/dnadesign/lib/sequencing/barcoding"
)

func main() {
	// Add in our barcode set. This is an abrdiged version of a full
	// dual barcode plate.
	primerSetCsv := `O1,GAAGCTCAAGCGTAAGCGGA,GAACCACAACCTTAACCTGA
B15,GCGGAAGCGCAAGCCTAAGC,GACCTAGACCGAGACCCAGT
J22,TAACGTGAACGTCAACGGTA,GTGGTAGTGGGAGTGGCAGT
E20,GGTGAAGGTCAAGGGTAAGG,GTTCCAGTGACAGTGTTAGT
C22,GAAGGACAAGGTTAAGGTGA,GTGGTAGTGGGAGTGGCAGT
A15,GGAAAAGCAAAACTAAAACG,GACCTAGACCGAGACCCAGT`
	// Add in reads. The following are real reads from a Nanopore sequencing
	// run, barcoded with the above barcodes.
	reads := `@ed433f97-a7e9-4b95-be59-2e18bda14fc2 runid=599e6407c739adc4ecb3169cea4c881b04635ea8 read=18 ch=90 start_time=2024-02-06T15:59:33.914899-08:00 flow_cell_id=ARF133 protocol_group_id=nseq30 sample_id=u12-u13-u14-u15-u16-u17-u18-u19-B4-B5 barcode=barcode01 barcode_alias=barcode01 parent_read_id=ed433f97-a7e9-4b95-be59-2e18bda14fc2 basecall_model_version_id=dna_r10.4.1_e8.2_400bps_sup@v4.2.0
TGTCCCTGTACTTCGTTCAGTTACGTATTGCTAAGGTTAACACAAAGACACCGACAACTTTCTTCAGCACCTGCGGAAGCGCAAGCCTAAGCGTAAAACGACGGCCAGTGAATCCGTAATCATGGTCATAGCTGTTTCCTGACTGGGTCTCGGTCTAGGTCAGGTGCTGAAGTTGTCGGTGTTGCTTGTGTTAACCTTTACGATGGT
+
'(*()(''*--.6+***+6---+,-./=CBDFIKSSGHFCHB@886797777ABCKICGDCAEFCBFDFSIHLSSGSSJSJISFMKSISJSOGSBA@??...--4?IFMRGSPGSRHLJGLEB(((18::=KMSGSJNSSGRGKSHGCCCECLSJRKIKHKJNHMJGH6.,)))((((())//---//0=8756:8892+&%%'((+
@8c5cf4e3-2595-4e1e-b014-9a6f9998b3d3 runid=599e6407c739adc4ecb3169cea4c881b04635ea8 read=31 ch=12 start_time=2024-02-06T15:59:35.914899-08:00 flow_cell_id=ARF133 protocol_group_id=nseq30 sample_id=u12-u13-u14-u15-u16-u17-u18-u19-B4-B5 barcode=barcode01 barcode_alias=barcode01 parent_read_id=8c5cf4e3-2595-4e1e-b014-9a6f9998b3d3 basecall_model_version_id=dna_r10.4.1_e8.2_400bps_sup@v4.2.0
TTGTCCTCTGCTTGGTTTCATTACGTATTGCTAACCAGCACAGAAGACACCGACAACTTTCTTCAGCACCTAGGCGAAGGCCAGCGTAAACGACGGCCAGTGGCTAAGGCGAAGGCCAGCGTAAAACAACACCCATGATCATCATCATCGTCATCACTCTTCCTCCGAGTCTGGC
+
%%%%$###$%&&'%''))))*-,,....0446-,*(('(()()()'((''(//123441,'',--/21112/..-.14457=>;;220-*()),-.234=?>>?=64443//001<34**+3/-,,*())'&(''))))*)*,++,,,*&&&&(((**%%%%(,)'&%%%%&%'&
@07c30f6c-5d40-4422-8caf-acca91369ae2 runid=599e6407c739adc4ecb3169cea4c881b04635ea8 read=8 ch=68 start_time=2024-02-06T15:59:30.914899-08:00 flow_cell_id=ARF133 protocol_group_id=nseq30 sample_id=u12-u13-u14-u15-u16-u17-u18-u19-B4-B5 barcode=barcode01 barcode_alias=barcode01 parent_read_id=07c30f6c-5d40-4422-8caf-acca91369ae2 basecall_model_version_id=dna_r10.4.1_e8.2_400bps_sup@v4.2.0
ATGTCCTGTACTTCGTTCAGTTACGTATTGCTAAGGTTAACACAAAGACACCGACAACTTTCTTCAGCACCTCCCAGGAAACAGCTATGACCATGAACCACAACCTTAACCTGACAGGAAACAGCTATGACCATGATTACGGATTCACTGGCCGTCGTTTGCTCACCTTTTGCCGCTTCCCCTCGTATGCGGATGCGCATGCCCAGGAAACAGCTATGACCATGATTACGGATTCACTGGCCGTCGTTTTACTCCGCTTACGCTTGAGCTTCACTGGCAGCGTTTTACTCCGCTTACGCTTGAGCTTCACTGGCCGTCGTTTATCCGCTCATG
+
$%&&$$$$&'))10235****+55677?@@ABKNEKFHEFDEDEEEFGKMGKECCCDHFFEAA500188:???BBBEHGELLDDDBBC@ABBCDBAABAHEEHDDAAA?BFJFEFEEDDCGEFEGGFGEEDDFJMFD><=<<>>>@<<;88:77765577,++++++++31(12/...../:2<>?@BHGKGKJGEDCEEBCC?0FFCDGKFEDCCFDDFFKSHHMHFEEEDGFFFDEFE>79877857>B==<<<ABBBKHEIA==<<=;9:;A/--+(&&&*-0*8=?CEIFGDEGCMOEGEHEGG?????DDDH<;:;;AEFB==<%$$$
@d990f6ac-ba6b-4f91-810d-0982b3d300bd runid=599e6407c739adc4ecb3169cea4c881b04635ea8 read=30 ch=3 start_time=2024-02-06T15:59:37.914899-08:00 flow_cell_id=ARF133 protocol_group_id=nseq30 sample_id=u12-u13-u14-u15-u16-u17-u18-u19-B4-B5 barcode=barcode01 barcode_alias=barcode01 parent_read_id=d990f6ac-ba6b-4f91-810d-0982b3d300bd basecall_model_version_id=dna_r10.4.1_e8.2_400bps_sup@v4.2.0
ATGTCCTTGTTCTTCGACATTACGTATTGCTAAGGTTAACACAAAGACACCGACAACTTTCTTCAGCACCTAAGCTCAAGCGTAAGCGGAGTAAAACGACGGCCAGTGTTATTGAATAAATCAGATTTGCCATGGTCTAGCTGTTTCCTGCGATATAGATATGCATATCCATGGTCATAGCTGTTTCCTGTCAGGTTAAGGTTGTGGTTCAGGTGCTGAAGAAAGTTGTCGTTTCTCTCTAATG
+
%%%&&)((''(&&&'34544444454489:CFFGHFNFFE;:442.)&&&+()12=>>??665,+,(((////00566<<<@BBCCLESGMPILIMG=====HECGFEJF))2000;34444)))))*(:BCDDDFFCAA?@CA>>9:CDDCAA>8.,,,,2)))))43844444@ADDGLJ=@DG5H@@B10000EEDFEFSKPGSLNFESHHKJSKHGCABB@BD=;))&&$$$$%%'%&'*
@66889973-c411-4d86-8d80-5040be1f91d1 runid=599e6407c739adc4ecb3169cea4c881b04635ea8 read=20 ch=70 start_time=2024-02-06T15:59:36.914899-08:00 flow_cell_id=ARF133 protocol_group_id=nseq30 sample_id=u12-u13-u14-u15-u16-u17-u18-u19-B4-B5 barcode=barcode01 barcode_alias=barcode01 parent_read_id=66889973-c411-4d86-8d80-5040be1f91d1 basecall_model_version_id=dna_r10.4.1_e8.2_400bps_sup@v4.2.0
TATATGTCCTCTACTCGTTCAGTTACGTATTGCTAAGGTTAACACAAAGACACCGACAACTTTCTTCAGCACCTTAACGTGAACGTCAACGGTAGTAAAACGACGGCCAGTCCCACTACCGGCGTATGGTCATAGCTGTTTCCTCGACTGCCACTCCCACTACCACAGCTGCTGAAGAAAGTTGTAATTTGTCTTTGTGTTAACCTTCACGATAAAC
+
&'(),,)%$###$%*,,,EFDEDFFJELHSHSJSIISSSOSSKLJKIKKKHNOIIJILKOKSMLSIEELGDMGJ=::<>=3334-----44CHDIHHJHSHHHIGSSGHHS@?;89A543**))(()'))*@BCDHJJSFF<D4,((()DSKKLIFBDCFL?>>22('&((())))))-,(*0,,(((('''',+.-/@@>557992&&&&((''&&
@6e9f5fbd-cd9c-4aaf-9831-3fc6c957429a runid=599e6407c739adc4ecb3169cea4c881b04635ea8 read=24 ch=70 start_time=2024-02-06T15:59:38.914899-08:00 flow_cell_id=ARF133 protocol_group_id=nseq30 sample_id=u12-u13-u14-u15-u16-u17-u18-u19-B4-B5 barcode=barcode01 barcode_alias=barcode01 parent_read_id=6e9f5fbd-cd9c-4aaf-9831-3fc6c957429a basecall_model_version_id=dna_r10.4.1_e8.2_400bps_sup@v4.2.0
TTTGCCTGTACTTCGTTCAGTTACGTATTGCTAAGGTTAACACAAAGACACCGACAACTTTCTTCAGCACCTGTGGTAGTGGGAGTGGCAGTCAGGAAACAGCTATGACCATGGTGGTAGTGGGACTGGCCGTGGTTTACGCTTAGCTTAAGCTTGTGCTTATGATTCACTGGCCGTCGTTTTACTCACCTTAACCTTGTCCTTAGGTGCTGAAGAAAGTTGTCGGTGTCTTTGTGTTAACCTTAGCAATACGT
+
$&&&&'%%,+++.**++'****+./00;<?76666GSIGLGIGGFHGGJGSQMNHIGHFI611=/./00HJGJOJJMIJSMMQSIMGEJECJ<:::<EJGLHLSSNNSSJOSGSQPSSJISFSIMJJLSGJIR++++4+1001-%%%&,,;?@@F;;<MFKKNKIKGNSRSHIJGGS??@@@D=FGEEDHFISSLGKSSOJPJIEGHFHIKSJSNSGSLSKNSIJFIIGFJDC<BBKC;77333++/,,,+*)(
@4f88db81-18a2-4353-bde1-2b539425b79a runid=599e6407c739adc4ecb3169cea4c881b04635ea8 read=125 ch=46 start_time=2024-02-06T16:00:54.914899-08:00 flow_cell_id=ARF133 protocol_group_id=nseq30 sample_id=u12-u13-u14-u15-u16-u17-u18-u19-B4-B5 barcode=barcode01 barcode_alias=barcode01 parent_read_id=4f88db81-18a2-4353-bde1-2b539425b79a basecall_model_version_id=dna_r10.4.1_e8.2_400bps_sup@v4.2.0
TATCTGTGTACTTGGTTCAGTTAGTATTGCTAAGGTTAACACAAAGACACCGACAACTTTCTTCAGCACCTGTACCAGTTACAGTTTTAGTCAGGAAACAGCTATGACCATGATTACGGATTCACTGGCCGTCGTTTTACTAGCCTTGCCCTTTCCCTTAACTGGCCGTGGTTTTG
+
'&'&&$$$%&))2/00::;5552((((358;?<<<<<?>?>>>>==998877777:<;<?>==;::<<=??@98888;776668777889932222567889:9:98676765566=:;::;>=><<<<<=>==>??:8;87779;>>=>?>CA;CA/>87889;?@>>8665-*'
@30119e9e-19a0-4174-be00-bc61117ce8d6 runid=599e6407c739adc4ecb3169cea4c881b04635ea8 read=57 ch=65 start_time=2024-02-06T16:00:40.914899-08:00 flow_cell_id=ARF133 protocol_group_id=nseq30 sample_id=u12-u13-u14-u15-u16-u17-u18-u19-B4-B5 barcode=barcode01 barcode_alias=barcode01 parent_read_id=30119e9e-19a0-4174-be00-bc61117ce8d6 basecall_model_version_id=dna_r10.4.1_e8.2_400bps_sup@v4.2.0
GTGTAACCTACTGGTTCAGTTACGTATTGCTAAGGTTAACACAAAGACACCGACAACTTTCTTCAGCACCTGTGAAGGTCAAGGGTAAGGGTAAAACGACGGCCAGTCACCAACCATAACCAGAACCATTAAAACGACGGCCAGTGAATCCGTAATCATGGTCATAGCTTTCCTGACTAACACTGTCACTGGAACATGGTCTAGCTGTTTCCTGGTGATAGGTG
+
$$$((45;=@GG7778454446889:AABCFSSOKPIDESGISSGJJSFSHBBB@>??EFBEJKGHGSSQNJJSKMSSOFFDFELFMSSNMHSOMNSIOHSNSSQSLLJSEHHGSISISKSHSHKDC/---,-47?@@ABSGFJICESNFKHSJIJSJSGHJKSKKRF?:7(<70111PKLSKSJSLHPNMFSOSJSLSLHIOGQSHFHA<@F<<<;:=)('''
@a931cb47-d99e-43e0-b6e1-7a52777ab1a2 runid=599e6407c739adc4ecb3169cea4c881b04635ea8 read=39 ch=70 start_time=2024-02-06T16:00:43.914899-08:00 flow_cell_id=ARF133 protocol_group_id=nseq30 sample_id=u12-u13-u14-u15-u16-u17-u18-u19-B4-B5 barcode=barcode01 barcode_alias=barcode01 parent_read_id=a931cb47-d99e-43e0-b6e1-7a52777ab1a2 basecall_model_version_id=dna_r10.4.1_e8.2_400bps_sup@v4.2.0
ATGTTGCCTACCTACTTGGTTCAGTTACGTATTGCTAAGGTTAACACAAAGACACCCGACAACTTTCTTCAGCACCTGCCAAGCGTAAAACGACGGCCAGTGGAAAAGCAAAACTAAAACGGTAAAACGACGGCCAGTGGAAAAGCAAAACTAAAACGGTAAACGACGGCCAGTTACGTTATTTGCTTTTCATGGTCATAGCTGTTTCCTGACTGGGTCTCGGTCTAGGTCAGGTGCTGAAGAAAGTTGTCGGTGTCTTTGTGTTAACCACGATGCGTTGT
+
%%%%%%####$%(*+,)&''));::80-''')0000BCFJOSNLQJKJKRSMSFKLSDHIMGJEHDABFCCHIJKSSISHGJMSKSSKSOLSJSJIOJMSMNRKJKSJQLISGHGIHSJHSLJKSMISJEEBBCBH>=:/---849000>@GEEEJOKJIJHGSISIOMHKKGFGFJMGHHROIPSIJSSJKSLSMMSKJSJIIIKNMMEISKMLSKSHJPHLMJNQLHGRJKKKSHKKOMISOSGFJIOSSLSOSSSSNMSIFH876'&'(....+++(%
@d8b0c139-fdc3-4c31-9cdc-0c6d1b5e14a2 runid=599e6407c739adc4ecb3169cea4c881b04635ea8 read=48 ch=26 start_time=2024-02-06T16:00:46.914899-08:00 flow_cell_id=ARF133 protocol_group_id=nseq30 sample_id=u12-u13-u14-u15-u16-u17-u18-u19-B4-B5 barcode=barcode01 barcode_alias=barcode01 parent_read_id=d8b0c139-fdc3-4c31-9cdc-0c6d1b5e14a2 basecall_model_version_id=dna_r10.4.1_e8.2_400bps_sup@v4.2.0
GTGTGTACTTCGTTCAGTTACGTATGCTTAGTTGTGAACACAAAGACACCGACAACTTCTTCAGCACCTTCTTGATCTTCATCTGTATCCAGGAAACAGCTATGACCATGCCTGAACCTCAACCGTAACCCAGGAAACAGCTATGACCATGCCTGAACCTCAACCGTAACCCAGGAAACAGCTATGACCATGATTCATCACTGGCCGTGGTTTCGGTTCTGGT
+
$$$%%%%&',*+,//;=:9771111,-+*&&%%%%%'.1389:987777844443553((50+,,88:;2///;6555597677764334578879999:977778888888;=;99888766534424551666688767644445776777:<;:998986652222378*9:::<;:99876322211//..,,,,-0667873333488('''122../
`
	primerSet, _ := barcoding.ParseDualPrimerSet(strings.NewReader(primerSetCsv))
	parser := bio.NewFastqParser(strings.NewReader(reads))
	records, _ := parser.Parse()

	var wells []string
	for _, record := range records {
		well, _ := barcoding.DualBarcodeSequence(record.Sequence, "gtaaaacgacggccagt", "caggaaacagctatgaccatg", primerSet)
		if well != "" {
			wells = append(wells, well)
		}
	}

	fmt.Println(wells)
}
Output:

[B15 O1 O1 J22 C22 E20]

Types

type DualBarcode

type DualBarcode struct {
	Name    string
	Forward string
	Reverse string
}

DualBarcode contains a forward and reverse barcode.

type DualBarcodePrimerSet

type DualBarcodePrimerSet struct {
	BarcodeMap        map[string]DualBarcode
	ReverseBarcodeMap map[DualBarcode]string
	ForwardBarcodes   []string
	ReverseBarcodes   []string
}

DualBarcodePrimerSet represents a list of dual-barcoded wells in a convenient format.

func DualBarcodesToPrimerSet

func DualBarcodesToPrimerSet(dualBarcodes []DualBarcode) DualBarcodePrimerSet

DualBarcodesToPrimerSet parsers a list of dual barcodes into a dual barcode primer set.

func ParseDualPrimerSet

func ParseDualPrimerSet(csvFile io.Reader) (DualBarcodePrimerSet, error)

ParseDualPrimerSet parses a csv file into a DualBarcodePrimerSet.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL