github.com/vertgenlab/gonomics@v1.0.0/cmd/DEPRECATED/mouseRecon/mouseRecon_test.go (about)

     1  package main
     2  
     3  import (
     4  	"os"
     5  	"testing"
     6  
     7  	"github.com/vertgenlab/gonomics/dna"
     8  	"github.com/vertgenlab/gonomics/exception"
     9  	"github.com/vertgenlab/gonomics/fasta"
    10  	"github.com/vertgenlab/gonomics/fileio"
    11  )
    12  
    13  func TestAllPossible(t *testing.T) {
    14  	var err error
    15  	var mouse fasta.Fasta = fasta.Fasta{Name: "mm10"}
    16  	var rat fasta.Fasta = fasta.Fasta{Name: "rn7"}
    17  	var hamster fasta.Fasta = fasta.Fasta{Name: "criGriChoV2"}
    18  	var squirrel fasta.Fasta = fasta.Fasta{Name: "speTri2"}
    19  	var species []fasta.Fasta
    20  	var m, r, h, s dna.Base //the values of the current base for each species
    21  	m = dna.A               //mouse is fixed
    22  	var possibleBases []dna.Base = []dna.Base{dna.A, dna.C, dna.G, dna.T, dna.N, dna.Gap}
    23  
    24  	// given that mouse is A, we will now go through all possible combinations
    25  	for _, r = range possibleBases {
    26  		for _, h = range possibleBases {
    27  			for _, s = range possibleBases {
    28  				mouse.Seq = append(mouse.Seq, m)
    29  				rat.Seq = append(rat.Seq, r)
    30  				hamster.Seq = append(hamster.Seq, h)
    31  				squirrel.Seq = append(squirrel.Seq, s)
    32  			}
    33  		}
    34  	}
    35  
    36  	species = []fasta.Fasta{mouse, rat, hamster, squirrel}
    37  	fasta.Write("testdata/allPossible.fa", species)
    38  
    39  	mouseReconMraMle("testdata/allPossible.fa", "testdata/test.mraMleMouseBias.fa", "testdata/4d.mod", 0.0, 0.8)
    40  	if !fileio.AreEqual("testdata/test.mraMleMouseBias.fa", "testdata/expected.mraMleMouseBias.fa") {
    41  		t.Errorf("Error in mouseRecon, mouse-biased mleMra reconstruction. Output was not as expected.")
    42  	} else {
    43  		err = os.Remove("testdata/test.mraMleMouseBias.fa")
    44  		exception.PanicOnErr(err)
    45  	}
    46  
    47  	mouseReconMraMle("testdata/allPossible.fa", "testdata/test.mraMleMouseBias0.fa", "testdata/4d.mod", 0.0, 0.0)
    48  	if !fileio.AreEqual("testdata/test.mraMleMouseBias0.fa", "testdata/expected.mraMleMouseBias0.fa") {
    49  		t.Errorf("Error in mouseRecon, mouse-biased mleMra reconstruction. Output was not as expected.")
    50  	} else {
    51  		err = os.Remove("testdata/test.mraMleMouseBias0.fa")
    52  		exception.PanicOnErr(err)
    53  		err = os.Remove("testdata/allPossible.fa") //remove allPossible once all tests have passed.
    54  		exception.PanicOnErr(err)
    55  	}
    56  }