def setUp(self): ''' @param mock_db_fpath (str) path to syntheticaly created CDSs which serves to fill up mock database of records @param input_aln_fpath (str) path to input alignment file @param results_fpath (str) path to file with generated correct results greedy solver should generate ''' self.mock_db_fpath = './test/solver/read2cds/.test_data/cds.fa' self.input_aln_fpath = './test/solver/read2cds/.test_data/lisa.in' self.results_fpath = './test/solver/read2cds/.test_data/cds_ordering.txt' # Initialize read container self.read_cont = ReadContainer() self.read_cont.populate_from_aln_file(self.input_aln_fpath) # Initialize and fill record container self.db_query = MockDbQuery(self.mock_db_fpath) self.record_cont = RecordContainer() self.record_cont.set_db_access(self.db_query) self.record_cont.populate(self.read_cont.fetch_all_reads_versions()) self.read_cont.populate_cdss(self.record_cont) # Initialize and fill up cds aln container self.cds_aln_cont = CdsAlnContainer() self.cds_aln_cont.populate(self.read_cont.fetch_all_reads()) self.greedy_solver = GreedySolver() self.greedy_solver.map_reads_2_cdss(self.cds_aln_cont)
def fill_containers (alignment_file, db_access): ''' Populates read, record and CDS alignment container. @return tuple(ReadContainer, RecordContainer, CdsAlnContainer) ''' read_cont = ReadContainer() record_cont = RecordContainer() record_cont.set_db_access(db_access) cdsaln_cont = CdsAlnContainer() # 1. Load all the information available in the alignment file read_cont.populate_from_aln_file(alignment_file) # 2. Fetch all the records reported in the alignment file from the database record_cont.populate(read_cont.fetch_all_reads_versions()) # 3. Find to which coding sequences reads map read_cont.populate_cdss(record_cont) # 4. Populate Cds Alignment container cdsaln_cont.populate(read_cont.fetch_all_reads()) return (read_cont, record_cont, cdsaln_cont)
def setUp(self): self.read_container = ReadContainer() self.record_container = RecordContainer()
def setUp(self): self.read_cont = ReadContainer() self.aln_file = './test/data/containers/.data/example.in'
from solver.read2cds.Read2CDSSolver import Read2CDSSolver from data.containers.record import RecordContainer from data.containers.read import ReadContainer from data.containers.cdsaln import CdsAlnContainer from utils.logger import Logger Logger("log") db_query = DbQuery() # create containers record_container = RecordContainer() record_container.set_db_access(db_query) read_container = ReadContainer() read_container.populate_from_aln_file("example_data/2reads.in") record_container.populate(read_container) read_container.populate_cdss(record_container) cds_aln_container = CdsAlnContainer() cds_aln_container.populate(read_container) print cds_aln_container r2c_solver = BestScoreSolver() r2c_solver.map_reads_2_cdss(cds_aln_container) print "Consistency test result: ", Read2CDSSolver.test_cds_alignment_container_consistency(cds_aln_container)