‘壹’ 如何用python绘制Circos图
用Python实现Circos图的绘制在线绘制的Circos有一定局限性,如对数据的要求、个性化的局限和处理速度等的问题,但如果你是一个Pythoneer或者喜欢用更加Pythonic的方式来个性化地绘制Circos图,那么今天就跟随我一起用代码实现这一目标吧!
安装Circos包
首先,登录Python的包索引网站PythonPackageIndex(PyPI,正确读音是:PiePeeAi),找到Circos包的下载页:
https://pypi.python.org/pypi/Circos/1.3.5
该包/模块的作者是我的好友EricMa。你可以选择下载wheeler文件,然后本地安装。也可以在shell下直接通过pip进行安装:
pipinstallcircos
注意,所支持的Python版本必须是3.x,对2不支持。
选择数据
当安装了circos包后,我们就可以直接应用这个包来写代码了。为了演示方便,我需要应用一些数据。作为内科医师,就让我来展示一下老本行:处理药物与肝酶细胞色素P450的相互关系的可视化。由于是为了抛砖引玉,所以绘制出的Circos图相对简单。
我们先从美国FDA官网下载不同细胞色素相关的各种口服药物表。共202种常用的口服药物,涵盖内科学、肿瘤学、神经科和心理学等学科。数据文件如下:
可以看到这个数据的结构:是按肝细胞色素酶进行分类,共分8个列。这8个细胞色素酶分别是:CYP1A2,CYP2B6,CYP2C8,CYP2C9,CYP2C19,CYP2D6,CYP2E1和CYP3A4。我们将要建立各个口服药与这些肝酶之间关系的Circos图,从而了解通过相同肝酶代谢或转化的药物之间是否存在相互作用。
导入各个模块和读入数据
导入各个模块:
fromcircosimportCircosPlot
importxlrd
importpandasaspd
importnumpyasnp
读入文件:
filename='.\MedicationInteraction.xlsx'
book=xlrd.open_workbook(filename)
print('Fileloaded!')
提取数据:
nrows=book.sheet_by_name('Sheet1').nrows
header=book.sheet_by_name('Sheet1').row_values(0)
data=[book.sheet_by_name('Sheet1').row_values(i)foriinrange(1,nrows)]
df=pd.DataFrame(data,columns=header)
df[df=='']=np.nan
读取后,药物和酶的数据为pandas的DataFrame数据结构,细胞色素P450酶的名字为columns的名字。我们可以检查一下数据:
修数据,尤其是处理NA数据
df_dict={}
foriinrange(len(df.columns)):
df_dict[df.icol(i).name]=list(df.icol(i).dropna())
节点和连线
创建节点(nodes)数据,在我这个例子里就是各个药物和肝酶:
nodes=[]
forkeyindf_dict.keys():
nodes.extend(df_dict[key])
nodes=list(nodes)
headers=list(df.columns)
enzymes=['0']*5
forheaderinheaders:
enzymes.append(header)
enzymes.extend(['0']*5)
nodes.extend(enzymes)
创建连线(edges)数据,我们应用tuple(元组)这个数据结构来表示药物与特定肝酶之间的关系:
edges_origin=[]
forkeyindf_dict.keys():
forvalueindf_dict[key]:
edges_origin.append((key,value))
绘图
绘制Circos图:
c=CircosPlot(nodes,edges_origin,radius=10,
nodecolor="blue",
edgecolor="red",
)
c.draw()
得到了下面这张所有药物与肝酶之间的图:
左上方是8个肝脏细胞色素P450酶(CYP1A2、CYP2B6、CYP2C8、CYP2C9、CYP2C19、CYP2D6、CYP2E1和CYP3A4)。其它点即为202种口服药物。每种药物都与参与代谢和转化它的P450酶相连。与相同酶连接的不同药物,理论上应该都存在相互作用,但具体如何还要看与酶的作用机理。
个性化绘图
如果我们打算分别可视化出不同肝酶的关系图形,我们只需改变连线信息,即edges信息:
edges=[]
‍forvalueindf_dict['CYP2B6']:
edges.append(('CYP2B6',value))
c=CircosPlot(nodes,edges,radius=10,
nodecolor="orange",
edgecolor="orange",
)
c.draw()
从而我们得到了各种肝酶所代谢和转化药物的图形
用PS将它们合并:
相同肝酶所代谢和转化的药物用相同颜色的edges表示。
显示特定药物
最后,我们可以挑选其中一些感兴趣的药物来进行观察,例如,我从这202个药物中指定几个我感兴趣的药物:
propafenone(心律平),acetaminophen(对乙酰氨基酚),paclitaxel(紫杉醇),ibuprofen(布洛芬),losartan(洛沙坦),omeprazole(奥美拉唑),carvediolo(卡维地洛),codeine(可待因),theophylline(茶碱),quinidine(奎尼丁),verapamil(异搏定),lovastatin(洛伐他汀),nitrendipine(尼群地平)
然后重新建立edges:
medications=['propafenone','acetaminophen','paclitaxel','ibuprofen','losartan','omeprazole','carvedilol','codeine','theophylline','quinidine','verapamil','lovastatin','nitrendipine']
edges_candidate=set()
formedicationinmedications:
foredgeinedges_origin:
ifmedication==edge[1]:
edges_candidate.add(edge)
edges_candidate=list(edges_candidate)
然后再绘图:
c=CircosPlot(nodes,edges_candidate,radius=10,
nodecolor="black",
edgecolor="black",
)
c.draw()
从而得到这张图。
‘贰’ pip 安装Python包时老是出现拒绝访问的提示,除了直接下载包应该怎么办
使用yum试试,或者wget下载包
‘叁’ 如何在mac版本的python里安装pip
mac里面python自带easy_install的,最快的应该就是在terminal里面sudo easy_install pip了,网络好几秒就ok。运行完可以用pip help测试一下是否安装成功,成功安装后,直接pip install numpy或者其他包就可以了。
ps:用sudo的时候需要输入密码,这个密码是你自己电脑的密码,输入的时候采取了“保密措施”,你看不到自己输入的字符,完整的输入进去以后,回车就可以了。
‘肆’ 用pip安装python第三方包的时候显示错误
pip 不是在python解释器中运行。而是在windows的命令行下运行,pip在PythonScripts目录
下,cmd,cd到该目录,然后输入pip install googlemaps 。
‘伍’ 如何在win7下安装Python及配置
1、首先,从网络搜索python官网下载适合自己电脑python版本。
‘陆’ python中pip install怎样安装,求从下载到成功的具体步骤
1. Download the package(.whl file) from the website
2. Copy the .whl file into the C:\Python34\Scripts
3. run window command prompt and path is C:\Python34\Scripts
4. type"pip install XXXXX.whl"
PS: some high-level package need to install other packages before accordinglywhich would be seen in the command window
‘柒’ python zip包怎么安装
双击安装包,以管理员身份运行,点击”Next“,
选择安装路径,点击”Next“,
点击”Next“,
安装过程如下
6
点击”Finish“
7
配置系统环境变量,找到系统环境变量Path,在最后面追加python的路径,
8
打开cmd命令,输入python,看到如下界面,说明python已经安装成功并正常运行。
‘捌’ win XP的系统应该装哪个python的安装包
直接装2.x系列和3.x系列的最新版本行了,不需要严格对应安装那两个版本。
Python 3.3.2
32位:http://www.python.org/ftp/python/3.3.2/python-3.3.2.msi
64位:http://www.python.org/ftp/python/3.3.2/python-3.3.2.amd64.msi
Python 2.7.5
32位:http://www.python.org/ftp/python/2.7.5/python-2.7.5.msi
64位:http://www.python.org/ftp/python/2.7.5/python-2.7.5.amd64.msi
如果你的是64位系统,那么选择32位或64位版本都可以,不过64位更佳。如果是32位系统,那只能用32位版本。
‘玖’ Python之安装和环境配置
python的下载
1.可以去python官网下载,https://www.python.org/
2.下载完成后,安装即可。
python的检测
1.打开开始-运行-cmd(快捷键win+R)。 如果是mac,打开使用工具-终端。
2.在终端里输入python,以下画面就是进入python了,表示安装成功。
相关推荐:《Python视频教程》
python环境变量
这里是win10举例
右键我的电脑-属性-高级
2.选择环境变量---在系统变量里找到Path---然后双击,进去之后新建,将python的路径添加进去即可。
环境变量设置好之后cmd运行python就方便了许多。(不太明白的可以去网络搜,这些安装改环境变量网上有很多,就不多说废话了)
补充:如果安装了多个python版本,在cmd里运行python,一般电脑默认优先运行先安装的。
解决方法,可以给python重新命名,然后再设置环境变量,这样在cmd里运行即可。例如:python2和python3运行cmd直接输入python2或者python3即可。
3.变量名
可以由字母/数字/下划线组成
ps:~数字不能开头
~不能是关键字(and、as、assert、break、class、continue、def、del、elif、else、except、exec、finally、for、from、global、if、import等等)
~最好不要和python内置的东西重复
~变量名最好写的有意义,一看名字就能看懂是什么。 比如: user_name user_age user_id
‘拾’ PyCharm怎么安装
python入门:环境配置和IDE安装
首先是本人的PC系统环境:win 8,64位。
一、python环境配置
(1)官网下载python 2.7.10【如果是win 8系统,貌似装3.5.0版本的会出错0x80240017】
https://www.python.org/downloads/release/python-2710/
ok,到此就完成了python的入门学习,还是非常简单。深知python只是一个易上手工具,后面的路还有很长,加油。
PS:修改界面的风格方式:File->Settings->Editor->Colors&Fonts在Scheme中选择其他风格即可。至于为什么都喜欢这个界面呢?可能是...大家都懂!