gpt4 book ai didi

python - DNA 序列点图

转载 作者:太空宇宙 更新时间:2023-11-03 23:51:25 28 4
gpt4 key购买 nike

我目前正在编写一个脚本来在给定两个序列时创建点图。到目前为止,我可以得到一个可爱的 lil 点图。

The X axis is: >HeaderOfSeq1

X = ATCGTAGCTACGTACGT
The Y axis is: >HeaderOfSeq2

Y = ATGCGATCGTGCTAC

ATGCGATCGTGCTAC
===============|
\ \ \ |A
\ \ \ \ |T
\ \ \ \|C
\ \ \ \ |G
\ \ \ \ |T
\ \ \ |A
\ \ \ \ |G
\ \ \ \|C
\ \ \ \ |T
\ \ \ |A
\ \ \ \|C
\ \ \ \ |G
\ \ \ \ |T
\ \ \ |A
\ \ \ \|C
\ \ \ \ |G
\ \ \ \ |T

这是一个 --ascii 过滤器(没有那个过滤器/是匹配的字母),它也是脚本的一部分。不,我想要和需要做的是把它变成一个 matplotlib 图。

我有点卡在这一点上了,我从 np 中获取了两个数组,其中包含所有可能的组合,我希望重叠和返回等高线图会相当简单,也许它基本上显示了上面的点图,但是只是更漂亮。 Matplot 是一项要求,顺便说一句,标准化等等。由于它们的字符串格式,我无法对 meshgrids(我知道)做任何事情,所以我被卡住了。

任何帮助将不胜感激!!如果需要,我还会发布一些实际代码。

最佳答案

IIUC,你可以这样做:

X, Y = 'ATCGTAGCTACGTACGT', 'ATGCGATCGTGCTAC'
X, Y = np.array(list(X)), np.array(list(Y))

plt.imshow(X==Y[:,None]) # the magic happens here, contourf should work similarly
plt.xticks(np.arange(len(X)), X)
plt.yticks(np.arange(len(Y)), Y)
plt.show()

输出:

enter image description here

关于python - DNA 序列点图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59270964/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com