使用GTF和fasta生成每个geneid对应最长的fasta序列
在进行单细胞测序的时候,我们通常最后得到的是 cell*geneid 的 matrix
文件,有时候我们需要 geneid 以及 geneid 对应的 fasta
序列数据,这就需要让我们做一些处理。
我们所需的文件是 gtf 文件和 基因组文件,需要使用的工具是 gffread
文件,这些大家都可以从官网进行下载。
以我们的数据为例,我们使用的是 GRCh38.p13.genome.fa
的数据,所以便是可以进行如下的代码分析
gffread gencode.v35.primary_assembly.annotation.gtf -g GRCh38.p13.genome.fa -w cds.fa --table @genename
在 cds.fa 数据中,我们就能得到 geneid 和 fasta
数据对应的文件,大概如下所示
head 5 cds.fa
>ENST00000456328.2 DDX11L1
GTTAACTTGCCGTCAGCCTTTTCTTTGACCTCTTCTTTCTGTTCATGTGTATTTGCTGTCTCTTAGCCCA
GACTTCC ...
杂聊8
以后尽量是可以做到每天的快乐生活当天记录下来,我的记忆会慢慢遗忘掉一些内容,记录下来或许能够让我减少遗忘。
今天是周日,所以又是我外出走走的日子,今天是和朋友们一起去西湖边的吴山景区附近走走,爬爬山。是要早起的,但是也并没起的很早,只得是草草吃了饭,甚至还是在等地铁的时候草草吃了两个饼,但是算得上给我提供能量了。
和朋友们约定好的集合地点是吴山广场,但我却稍稍有些迟到了,这是我的问题,只得是一路跟随着朋友们留下的脚印,知道江湖汇观亭,终于是和朋友们相会了,之后我们从汇观亭下山,到了烈士陵园附近,这里很安静,晨光照射下来的时候,人民英雄纪念碑染上了一层金光。
再往下走有一群恬淡的老人,他们在这里打太极,这就是杭州人民悠闲自得的养老生活吧,打打太极喝喝茶,每天都是悠闲乐。
穿过了他们之后,就来到了白蛇飞度,这里我还是第一次来,感觉这个造景倒是显得很柔适,很婉转,造景和自然融为一体。
过了白蛇飞度之后是梦幻森林,这里是路途中间的一个部分,在这里并没有过多的停留,马上就此离去,这里的树木之类的倒是称得上是说奇支趣木,倒也是第一次看得如此场景。
再之后便是一路直走,直到八 ...
scanpy多张图绘制于一张
当我们一次有多个数据,而且我们想要使用scanpy绘制umap图,或是spatial图的时候,大多数人一次只是绘制一个umap图或是一个spatial图在一个png或是一个pdf上面,对于我们可视化来说可能并没有那么轻便,于是需要做一些调整,借助于matplotlib的内参,让我们可以较为轻松的绘制多张图在一张图上面。代码比较容易理解,详细代码如下:
fig=plt.figure(figsize=(20,20))
for i in range(1,13):
temp = adata[adata.obs['slices']==str(i)]
# ax=fig.add_subplot(221)
csv = pd.read_csv('/data/work/04.Transfer/RCTD/Result/all_batch/1014/' + str(i) + '.csv',sep = ' ')
temp.obs['celltype'] = csv.first_type.tolist()
axs = fig.add_subplot(4, 3, i)
...
杂聊7
又是好久没有写博客了,应该还是写一写记录一下我的生活的,我的记忆感觉比以前差了很多,记录下来总归是好的事情,也许我还能再回顾一下,总觉得要把自己的博客捋的清晰一下,在生活的栏目里面要少讲一些科研或是正经的工作故事,这里就是纯粹的、枯燥的、无聊的、单调的我的生活故事。
就先从华大九九健康节讲一下吧。九九健康,大概是华大在每年九月九日时间点附近组织一些秋游活动,大都是令人感到快乐的户外郊游,我应该还是比较习惯到处走走的,尤其还是杭州这样子的湿地城市,在西湖景区里面到处都是可以走一走的,而且有很多的人文景观,我本身也是也是走过了很多次了。
徒步是这周五的事情了,其实是九月八号的事情,大概是八点到研究院楼下,然后乘着大巴到了九溪。九九徒步,从这里开始。
从九溪一直往里面走,很快就能走到九溪烟树,这还没到农历的八月份,但是已经有桂花的香味了,沿路也都是桂花香,有一些桂花树上面还有一些桂花,不过还是比较少的,大概是因为还没有到桂花的季节吧。沿路徒步大都是一些年轻情侣或是白发苍苍的老年情侣,这一带也确实是约会的好地方,恬静淡然,也无人吵闹,有山有水却就在市中心,这样的地方确实是很难得的。
...
使用空间转录组文件gem生成相应的灰度图
一般我们在进行圈细胞之前需要将基因在空间上的表达情况绘制出来,同时与拍照的TIF图片进行对应,在我的上篇博客里面用了一位师兄的代码,但是却发现其执行效率过于低下,经常一张芯片要运行四五个小时。故自己写了新的架构,将速度提升了数百倍。代码如下所示:
# import spateo as st
import pandas as pd
from PIL import Image
import matplotlib.pyplot as plt
from scipy.sparse import csr_matrix
import numpy as np
import skimage
import cv2
'''
log setting
'''
import logging
log = logging.getLogger('Console')
log.setLevel(logging.DEBUG)
console_handler = logging.StreamHandler()
console_handler.setLevel(logging.DEBUG)
formatter = log ...
如何在stomics平台使用spateo圈细胞
时空云平台(STOmics
Cloud)是以时空为特色的多组学数据分析平台,可以管理和分析多组学数据。
STOmics
Cloud以项目为核心,用户可快速将数据和工具整合到项目,实现分析过程可追溯,结果可复现,知识可分享,项目可协作,形成项目分析体系。并通过一个用户友好的门户,提供灵活易于使用的无代码标准和高级分析,高分辨率可视化分析,以及个性化的分析服务,任何注册登录的用户可以轻松在平台上访问,分析,使用和共享数据和工具。
总体来说,STOmics
平台是一个很出色的多组学的数据分析平台,但是仍然有一些不足,STOmics
在做数据分析的时候无法连接外部网络,如果说我们需要用到一些外部的模型或是其他资源的时候,则是会遇到十分大的阻碍,尤其是当我们调用
keras
的某些模型的时候,是需要进行联网下载的,那我们就需要对源码进行一些修改。
Spateo
利用 Stereo-seq 的超高空间分辨率、大视野和高 RNA
捕获灵敏度,通过核染色和基于 RNA
信号的细胞分割实现单细胞分辨率空间转录组学。Spateo
还提供了空间约束聚类的新方法,以识别连续的组织域, ...
how to run Spatial ID
before you start to run the program, you should make something
installed.
pip install torch==2.1.2+cpu torchvision==0.16.2+cpu torchaudio==2.1.2+cpu --index-url https://download.pytorch.org/whl/cpu
pip install torch-cluster -f https://pytorch-geometric.com/whl/torch-2.0.1+cpu.html
pip install torch-scatter -f https://pytorch-geometric.com/whl/torch-2.0.1+cpu.html
pip install torch-sparse -f https://pytorch-geometric.com/whl/torch-2.0.1+cpu.html
pip install torch-geometric==2.0
Before running, ...
如何将rds转为h5ad
在进行单细胞或是空间组数据分析的时候,有的人喜欢使用 R
语言进行分析,有的同学喜欢使用 Python
进行分析,但是两个语言分析所使用的文件有所不同,R 语言通常保存的为 rds
文件,Python 通常保存的为 h5ad
文件,如果是多人合作分析的时候,往往需要将文件进行格式转换,这通常是一件较为麻烦的事情,看到过有使用
SeuratDisk 和 SeuratData 等 R 语言包进行转换的程序,但是由于本人 R
语言环境等等的问题,总是无法安装,故想了一个新的方法来进行格式转换,教程如下。
首先是将 rds 文件中的信息提取出来。
library(Seurat)
# 读取 rds 文件信息
rds_file = readRDS("rds_file.rds")
rds_file
An object of class Seurat 38153 features across 9567 samples
within 2 assays Active assay: Spatial (19082 features, 0 variable ...
作科学汇报时候如何不像孩子那样漫谈
我有了一个新导师:我那两岁半的外孙。就像很多小孩子一样,也不管有没有人听懂,一直在不停的说话。
我突然意识到,如果一个蹒跚学步的孩子这样使用语言,那么我作为一名教授别人做汇报的教练所关注的科学汇报本身可能过于详细和难以理解也就不足为奇了。在许多的科学汇报中,如同孩子一般的漫谈,可能是我们没有完全摆脱的本能。
这也可能解释了即便让科学家意识到问题所在也不能解决问题。许多人抱怨同行在做汇报时讲得过于详细了,但其实他们自己也有同样的问题。想要插入更多细节幻灯片似乎是不可抗拒的。演讲者需要具体的步骤来限制他们谈话的范围,并消除漫谈的本能。
根据我在许多研究机构20年的汇报技巧教学经验,我制定了一些策略来打破这种趋势。这四个步骤将帮助科学家创建更清晰、更简洁的汇报。
先写一个简单的叙述
在做每一页的幻灯片之前,先写下你希望去交流的要点。这可能包含了一个重要问题,这个问题为什么重要,你的关键结论和其他相关的事项。试着用开始,过程,结束将这些关键点连成一篇流畅的半页左右的叙述。
你的叙述是你进行不同长度的对话的基础。更长的对话可能包含更多的支持数据和细节,但是仍然需要基于几个关键点来进行 ...
写一个小脚本
最近上课,有一门课有一部分网课,这部分网课其实已经学过了,但是老师还是让看,看就看呗,原以为直接挂着就行了,但是发现这个网站每隔几分钟就会弹出窗口,需要点击才能继续观看。可是呢,我还有别的任务,于是便写了一个小脚本,使得可以实现自动刷课。
找到弹出窗口
通过检查元素可以看到,class name 为 btn-ok btn
的只在弹出窗口中出现。
整理思路写脚本
那么只要这个元素出现,选中这个元素,再添加一个 click 事件便可。
function click_btn_ok(){
try{
document.getElementsByClassName('btn-ok btn')[0].click()
console.log('弹出窗口,已经点击')
}catch(e ){
console.log('没有弹出窗口')
}
}
这样便是完成了点击函数,但是还需要添加一个事件,那就是让这个函数一直运行着,一直检测着,便可以使用
setInterval() 方法。
全代码 ...