def __init__( self, records, analysis, max_guidetrees=10, tmpdir=None, datatype=None, verbosity=0, ): self.analysis = optioncheck(analysis, ['ml', 'nj', 'TreeCollection']) self.max_guidetrees = max_guidetrees self.records = records self.datatype = datatype or records[0].datatype self.verbosity = verbosity optioncheck(self.datatype, ['protein', 'dna']) self.tmpdir = tmpdir or records[0].tmpdir directorymake(self.tmpdir) self.concats = {} self.history = [] self.populate_cache()
def __init__( self, records=None, input_dir=None, file_format='fasta', datatype=None, tmpdir='/tmp', calc_distances=False, compression=None, analysis=None, ): self.tmpdir = directorymake(tmpdir) if records: self.records = records self.datatype = datatype or records[0].datatype optioncheck(self.datatype, ['dna', 'protein']) for rec in records: rec.tmpdir = self.tmpdir elif input_dir: directorycheck(input_dir) self.datatype = optioncheck(datatype, ['dna', 'protein']) optioncheck(file_format, ['fasta', 'phylip']) self.records = self.read_files(input_dir, file_format, compression) else: print 'Provide a list of records, or the path to a set of alignments' if not self.records: raise NoRecordsError(file_format, input_dir, compression) if calc_distances: self.calc_distances() self.taxon_set = TaxonSet()