本文整理汇总了Python中pymodule.PassingData.strain_id2index方法的典型用法代码示例。如果您正苦于以下问题:Python PassingData.strain_id2index方法的具体用法?Python PassingData.strain_id2index怎么用?Python PassingData.strain_id2index使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类pymodule.PassingData
的用法示例。
在下文中一共展示了PassingData.strain_id2index方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: getStrainIDInfo
# 需要导入模块: from pymodule import PassingData [as 别名]
# 或者: from pymodule.PassingData import strain_id2index [as 别名]
def getStrainIDInfo(self, db, strain_id_info_query, strain_id_set=None):
"""
2008-08-29
"""
sys.stderr.write("Getting strain id info ...")
rows = db.metadata.bind.execute(strain_id_info_query)
strain_id_ls = []
strain_id2index = {}
strain_label_ls = []
prev_country_abbr = None
no_of_separators = 0
for row in rows:
if strain_id_set and row.strainid not in strain_id_set: #skip
continue
if prev_country_abbr == None:
prev_country_abbr = row.abbr
elif row.abbr!=prev_country_abbr:
prev_country_abbr = row.abbr
no_of_separators += 1
strain_id2index[-no_of_separators] = len(strain_id_ls)
strain_id_ls.append(-no_of_separators)
strain_label_ls.append('')
strain_id2index[row.strainid] = len(strain_id_ls)
strain_id_ls.append(row.strainid)
if len(row.sitename)>10:
sitename = row.sitename[:10]
else:
sitename = row.sitename
strain_label_ls.append('%s_%s_%s_%s'%(row.abbr, sitename, row.nativename, row.strainid))
strain_id_info = PassingData()
strain_id_info.strain_id_ls = strain_id_ls
strain_id_info.strain_id2index = strain_id2index
strain_id_info.strain_label_ls = strain_label_ls
sys.stderr.write("Done.\n")
return strain_id_info
示例2: getStrainInfoGivenPlateInfo
# 需要导入模块: from pymodule import PassingData [as 别名]
# 或者: from pymodule.PassingData import strain_id2index [as 别名]
def getStrainInfoGivenPlateInfo(self, db, plate_info, strain_id_info_query, strain_id_set=None):
"""
2008-09-13
order/group the strains according to plate_set, country, strain longitude
fetch appropriate labels for each strain
"""
sys.stderr.write("Getting strain_info given plate_info ...")
#fetch appropriate label, and put strain id in country_longitude order within each plate
plate_set2strain_id_ls_in_GPS_order = {}
strain_id2label = {}
rows = db.metadata.bind.execute(strain_id_info_query)
for row in rows:
if strain_id_set and row.strainid not in strain_id_set: #skip
continue
plate_set = plate_info.strain_id2plate_set[row.strainid]
if plate_set not in plate_set2strain_id_ls_in_GPS_order:
plate_set2strain_id_ls_in_GPS_order[plate_set] = []
plate_set2strain_id_ls_in_GPS_order[plate_set].append(row.strainid)
if len(row.sitename)>10: #cut short on the site name
sitename = row.sitename[:10]
else:
sitename = row.sitename
strain_label = '%s_%s_%s_%s_%s'%(row.abbr, sitename, row.nativename, row.strainid, repr(plate_set)[1:-1])
strain_id2label[row.strainid] = strain_label
#put in plate_set order, assign row index
plate_set_ls = plate_set2strain_id_ls_in_GPS_order.keys()
plate_set_ls.sort()
no_of_plates = len(plate_set_ls)
strain_id_ls = []
strain_id2index = {}
strain_label_ls = []
for i in range(no_of_plates):
plate_set = plate_set_ls[i]
plate_strain_id_ls = plate_set2strain_id_ls_in_GPS_order[plate_set]
if i!=0: #insert separator, but not before the first plate_set
strain_id2index[-i] = len(strain_id2index)
strain_id_ls.append(-i)
strain_label_ls.append('')
for strain_id in plate_strain_id_ls:
strain_id2index[strain_id] = len(strain_id2index)
strain_id_ls.append(strain_id)
strain_label_ls.append(strain_id2label[strain_id])
strain_id_info = PassingData()
strain_id_info.strain_id_ls = strain_id_ls
strain_id_info.strain_id2index = strain_id2index
strain_id_info.strain_label_ls = strain_label_ls
sys.stderr.write("Done.\n")
return strain_id_info