def _read_pstdata(self): row = SnpReader._read_fam(self.filename, remove_suffix="dat") col, col_property = SnpReader._read_map_or_bim(self.filename, remove_suffix="dat", add_suffix="map") if len(row) == 0 or len(col) == 0: return SnpData(iid=row, sid=col, pos=col_property, val=np.empty([len(row), len(col)])) datfields = pd.read_csv(self.filename, delimiter='\t', header=None, index_col=False, skiprows=self.skiprows) if not np.array_equal(datfields[0], col): raise Exception( "Expect snp list in map file to exactly match snp list in dat file" ) del datfields[0] del datfields[1] del datfields[2] assert len(row) == datfields.shape[ 1], "Expect # iids in fam file to match dat file" val = datfields.values.T snpdata = SnpData(iid=row, sid=col, pos=col_property, val=val) return snpdata
def row(self): """*same as* :attr:`iid` """ if not hasattr(self, "_row"): _fam = SnpReader._name_of_other_file(self.path, remove_suffix="bed", add_suffix="fam") local_fam = self._storage.open_read(_fam) self._row = SnpReader._read_fam(local_fam.__enter__(), remove_suffix="fam") self._file_dict["fam"] = local_fam return self._row
def _read_pstdata(self): row = SnpReader._read_fam(self.filename,remove_suffix="dat") col, col_property = SnpReader._read_map_or_bim(self.filename,remove_suffix="dat", add_suffix="map") if len(row)==0 or len(col)==0: return SnpData(iid=row,sid=col,pos=col_property,val=np.empty([len(row),len(col)])) datfields = pd.read_csv(self.filename,delimiter = '\t',header=None,index_col=False) if not np.array_equal(np.array([x.encode('ascii') for x in datfields[0]]), col) : raise Exception("Expect snp list in map file to exactly match snp list in dat file") del datfields[0] del datfields[1] del datfields[2] assert len(row) == datfields.shape[1], "Expect # iids in fam file to match dat file" val = datfields.values.T snpdata = SnpData(iid=row,sid=col,pos=col_property,val=val) return snpdata
def _run_once(self): if self._ran_once: return self._ran_once = True if not hasattr(self,"_row"): self._row = SnpReader._read_fam(self.filename,remove_suffix="bed") if not hasattr(self,"_col") or not hasattr(self,"_col_property"): self._col, self._col_property = SnpReader._read_map_or_bim(self.filename,remove_suffix="bed", add_suffix="bim") self._assert_iid_sid_pos() if not self.skip_format_check: self._open_bed() self._close_bed()
def _run_once(self): if self._ran_once: return self._ran_once = True if not hasattr(self, "_row"): self._row = SnpReader._read_fam(self.filename, remove_suffix="bed") if not hasattr(self, "_col") or not hasattr(self, "_col_property"): self._col, self._col_property = SnpReader._read_map_or_bim( self.filename, remove_suffix="bed", add_suffix="bim") self._assert_iid_sid_pos(check_val=False) if not self.skip_format_check: self._open_bed() self._close_bed()
def row(self): """*same as* :attr:`iid` """ if not hasattr(self, "_row"): self._row = SnpReader._read_fam(self.filename, remove_suffix="bed") return self._row
def row(self): """*same as* :attr:`iid` """ if not hasattr(self,"_row"): self._row = SnpReader._read_fam(self.filename,remove_suffix="bed") return self._row