コード例 #1
0
ファイル: dat.py プロジェクト: fastlmm/PySnpTools
 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
コード例 #2
0
 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
コード例 #3
0
ファイル: dat.py プロジェクト: MicrosoftGenomics/PySnpTools
 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
コード例 #4
0
ファイル: bed.py プロジェクト: MicrosoftGenomics/PySnpTools
    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()
コード例 #5
0
ファイル: bed.py プロジェクト: eric-czech/PySnpTools
    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()
コード例 #6
0
ファイル: bed.py プロジェクト: eric-czech/PySnpTools
 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
コード例 #7
0
ファイル: bed.py プロジェクト: MicrosoftGenomics/PySnpTools
 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