File: alphabet_test.go

package info (click to toggle)
golang-github-shenwei356-bio 0.13.8-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 792 kB
  • sloc: perl: 114; sh: 58; makefile: 21
file content (71 lines) | stat: -rwxr-xr-x 2,638 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
package seq

import (
	"regexp"
	"strings"
	"testing"
)

func TestAlphabet(t *testing.T) {
	dna := []byte("acgtACGT")
	dna2 := []byte("ACGTRYSWKMBDHV")
	rna := []byte("AUGCUUCCGGCCUGUUCCCUGAGACCUCAAGUGUGAGUGUACUAU" +
		"UGAUGCUUCACACCUGGGCUCUCCGGGUACCAGGACGGUUUGAGCAGAU")
	rna2 := []byte("ACGURYSWKMBDHV")
	protein := []byte(regexp.MustCompile(`\r?\n|\s`).ReplaceAllString(
		`MGLNRFMRAMMVVFITANCITINPDIIFAATDSEDSSLNTDEWEEEKTEEQPSEVNTGPR
YETAREVSSRDIKELEKSNKVRNTNKADLIAMLKEKAEKGPNINNNNSEQTENAAINEEA
SGADRPAIQVERRHPGLPSDSAAEIKKRRKAIASSDSELESLTYPDKPTKVNKKKVAKES
VADASESDLDSSMQSADESSPQPLKANQQPFFPKVFKKIKDAGKWVRDKIDENPEVKKAI
VDKSAGLIDQLLTKKKSEEVNASDFPPPPTDEELRLALPETPMLLGFNAPATSEPSSFEF
PPPPTDEELRLALPETPMLLGFNAPATSEPSSFEFPPPPTEDELEIIRETASSLDSSFTR
GDLASLRNAINRHSQNFSDFPPIPTEEELNGRGGRPTSEEFSSLNSGDFTDDENSETTEE
EIDRLADLRDRGTGKHSRNAGFLPLNPFASSPVPSLSPKVSKISAPALISDITKKTPFKN
PSQPLNVFNKKTTTKTVTKKPTPVKTAPKLAELPATKPQETVLRENKTPFIEKQAETNKQ
SINMPSLPVIQKEATESDKEEMKPQTEEKMVEESESANNANGKNRSAGIEEGKLIAKSAE
DEKAKEEPGNHTTLILAMLAIGVFSLGAFIKIIQLRKNN`, ""))

	ok := DNA.IsValid(dna) == nil &&
		DNAredundant.IsValid(dna2) == nil &&
		RNA.IsValid(rna) == nil &&
		RNAredundant.IsValid(rna2) == nil &&
		Protein.IsValid(protein) == nil
	if !ok {
		t.Error("validating sequence failed.")
		return
	}
	// fmt.Println("protein", GuessAlphabet(protein))
	// fmt.Println("dna2", GuessAlphabet(dna2))
	// fmt.Println("dna", GuessAlphabet(dna))
	// fmt.Println("rna2", GuessAlphabet(rna2))
	// fmt.Println("rna", GuessAlphabet(rna))
	ok = GuessAlphabet(dna) == DNA && GuessAlphabet(dna2) == DNAredundant && GuessAlphabet(rna) == RNA && GuessAlphabet(rna2) == RNAredundant && GuessAlphabet(protein) == Protein
	if !ok {
		t.Error("guessing alphabet error")
		return
	}
}

func TestAlphabet2(t *testing.T) {
	s := regexp.MustCompile(`\r?\n|\s`).ReplaceAllString(
		`MGLNRFMRAMMVVFITANCITINPDIIFAATDSEDSSLNTDEWEEEKTEEQPSEVNTGPR
YETAREVSSRDIKELEKSNKVRNTNKADLIAMLKEKAEKGPNINNNNSEQTENAAINEEA
SGADRPAIQVERRHPGLPSDSAAEIKKRRKAIASSDSELESLTYPDKPTKVNKKKVAKES
VADASESDLDSSMQSADESSPQPLKANQQPFFPKVFKKIKDAGKWVRDKIDENPEVKKAI
VDKSAGLIDQLLTKKKSEEVNASDFPPPPTDEELRLALPETPMLLGFNAPATSEPSSFEF
PPPPTDEELRLALPETPMLLGFNAPATSEPSSFEFPPPPTEDELEIIRETASSLDSSFTR
GDLASLRNAINRHSQNFSDFPPIPTEEELNGRGGRPTSEEFSSLNSGDFTDDENSETTEE
EIDRLADLRDRGTGKHSRNAGFLPLNPFASSPVPSLSPKVSKISAPALISDITKKTPFKN
PSQPLNVFNKKTTTKTVTKKPTPVKTAPKLAELPATKPQETVLRENKTPFIEKQAETNKQ
SINMPSLPVIQKEATESDKEEMKPQTEEKMVEESESANNANGKNRSAGIEEGKLIAKSAE
DEKAKEEPGNHTTLILAMLAIGVFSLGAFIKIIQLRKNN>`, "")

	protein := []byte(strings.Repeat(s, 1000))

	ok := Protein.IsValid(protein) == nil
	if ok {
		t.Error("validating sequence failed.")
		return
	}

}