def test_guess_seq_type(self): 'It guesses if the sequence is nucleotide or protein' fpath = os.path.join(TEST_DATA_DIR, 'arabidopsis_genes') assert guess_seq_type(open(fpath)) == 'nucl' fpath = os.path.join(TEST_DATA_DIR, 'pairend2.sfastq') assert guess_seq_type(open(fpath)) == 'nucl'
def get_or_create_blastdb(blastdb_or_path, dbtype=None, directory=None): '''it returns a blast database. If it does not exists it creates and if you give it a directory it will create it in that directory if it does not exist yet ''' seq_fpath = _get_abs_blastdb_path(blastdb_or_path, dbtype) if directory: dbname = os.path.basename(seq_fpath) dbpath = os.path.join(directory, dbname) else: dbpath = seq_fpath if not _blastdb_exists(dbpath, dbtype=dbtype): if not os.path.exists(seq_fpath): msg = 'An input sequence is required to create a blastdb' raise RuntimeError(msg) if seq_fpath != dbpath: seqio([open(seq_fpath)], open(dbpath, 'w'), out_format='fasta', copy_if_same_format=False) if dbtype is None: dbtype = guess_seq_type(open(dbpath)) _makeblastdb_plus(dbpath, dbtype) return dbpath
def test_guess_seq_type(): 'It checks that we can guess the type of the seqs in a file' fpath = os.path.join(TEST_DATA_DIR, 'arabidopsis_genes') guess_seq_type(open(fpath))