NA12878多种来源数据下载[参考Kamatani 2019 Genome Biology]
参考一篇做的比较全面的结构变异工具比较类文章中使用到的标准数据的获取和提取。
Continue Reading
生信工具开发——Java【1】helloworld
我的学习目的:模仿Picard写一个对BAM文件进行处理的生信工具。【思考了一下,感觉这个工具没必要写,就简单记录一下学的东西吧】
Continue Reading【临床系列】——名词解释
recurrence-free survival 从开始治疗到没有癌症迹象存在。 disease-specific survival 从检测或开始治疗到病人死亡之前的时间。
Continue Reading【2021NCI】signature讲座
该部分会议内容如下: 一、Teresa Przytycka 突变模式可以作为一种工具来研究环境、细胞过程和疾病之间的关联,其中包含: signature和分子通路之间的关联 突变过程和突变过程之间的关联 1. 突变过程和分子通路/突变过程的关联 研究的问题是吸烟和COVID-19易感。
Continue Reading【2021NCI】signature讲座
该部分会议内容如下: 【Steven Rozen】 Two signatures: one important for public health, one important for DNA damage and repair
Continue Reading【2021NCI】signature讲座-Opening Session
该部分会议内容如下: somatic mutations in ageing and disease 1. 背景 对良性组织测序(non-malignant tissue)比较困难,这里使用的是laser capture microdissection,把组织切得更小,这样每次测序大概是200个样本,不需要任何预先对DNA进行扩增,这样可以获得很高质量的基因组。
Continue Reading非线性规划
很多实际问题可以归结为线性规划问题,其目标函数和约束条件都是自变量的一次函数。但是存在另外一些应用也很广泛的问题,目标函数和(或)约束条件很难用线性函数表达,如果目标函数或约束条件中含有非线性函数,就称这种规划问题为非线性规划问题。 由于非线性函数的复杂性,解非线性规划问题要比解线性规划问题困难得多,而且也不能像线性规划有通用解法,目前还没有适用于解决各种问题的一般算法,各个方法都有自己特定的适用范围。 一、基本概念 目标函数,或约束条件中含有非线性函数,就称这种规划问题为非线性规划问题。 1. 非线性规划问题的数学模型 https://blog-1310600458.cos.ap-shanghai.myqcloud.com/10001654751778_.pic.jpg 二、 无约束问题 1. 极值问题 1.1 局部极值和全局极值 由于线性规划的目标函数为线性函数,可行域为凸集(没有空洞和凹入部分的集合叫做凸集),因而求出的最优解就是在整个可行域上的全局最优解。 非线性规划却不是这样,有时求出的某个解虽是一部分可行域上的极值点,但是却不一定是整个可行域上的全局最优解。
Continue Readingfit算法
NMF(非负矩阵分解) NMF in mutational signature 当得到大量样本时,根据k个分类,可以创建一个计数矩阵M,包含每个样本在每个分类的计数,该矩阵可以通过非负矩阵分解为两个矩阵,这两个矩阵一个代表signature的分类图谱,一个代表每个样本的signature数值。 而当我们只有一个样本时,则不能通过NMF分解来获得以上提到的两个矩阵,但是可以通过确定的signature图谱矩阵,来推测该样本的signature的exposure。这个步骤就是fitting。 fitting方法 $$ M \approx P\times E $$
Continue Reading参加读书活动
步骤 安装网易mumu, 通过应用中心安装微信读书 安装python包:uiautomator 安装adb连接mumu 运行python脚本 安装网易mumu 网页mumu下载地址: http://mumu.
Continue Reading生存分析
本文主要参考:Survival Analysis Part I: Basic concepts and first analyses 生存分析基本介绍 大多数的癌症研究中使用: Kaplan-Meier plots
Continue ReadingMultimodal deep learning
Multimodal data 首先我们应该明确什么是multimodal data? 事物发生或经历时,或者是研究问题包含了多模态。我们通过看、听、闻来体会世界时,就是一种多模态。 Modality refers to the way in which something happens or is experienced and a research problem is characterized as multimodal when it includes multiple such modalities.
Continue Reading如何去除文本注释
注释类型 首先我们应该明确注释是在什么样的文件中? 1.代码中的注释 2.文本中的注释 其次我们应该明确,我们需要去除的注释都是什么样子的? 1.注释行前有特定字符,比如R代码中的注释# 2.注释被包含在特定字符之间,比如Python代码中的 ```,以及SRIM软件输出结果开头的注释包含的两行=== 根据注释的类型不同,去除注释的方法也不同,接下来介绍一下如何去除注释。 特定字符的注释 使用read.table()读入数据时,设置参数comment.char = '#',就可以把开头为#的行跳过。 comment.
Continue Reading癌症预后
基本框架(按照从大到细) 预后标志物背景介绍 预后标志物的类型(分类标准有作用;存在性质等等),主要关注基因组预后标志物 泛癌、特定癌种的预后标志物,这部分聚焦于特定的例子 如何开发一个预后标志物,好的预后标志物应该包含哪些特征,预后标志物目前存在哪些问题 生物信息学在研究预后标志物中的作用,聚焦于分析手段
Continue ReadingCNV
一、 拷贝数变异的介绍 1.1 结构变异和拷贝数变异 结构变异(structure variation, SV)是指基因组上大片段碱基的缺失、插入、重复、倒位和易位。这部分变异的频率,和疾病或者表型的关系等等都不明确,另外还有一部分的变异也属于结构变异,比如异态性(heteromorphisms),脆性位点(fragile sites),marker染色体,等臂染色体(isochromosomes),双微体(double minutes)等等,这部分的结构不正常和疾病有关。 等臂染色体,是两条基因和形态都一致的染色体臂。 双微体,是无着丝粒的,染色体外扩增的核染色质,通常包含特定的染色体片段或基因,在癌细胞中常出现。 marker染色体,也被称为结构外异常染色体或“多余”染色体。在荧光原位杂交实验中,除了正常的染色体补体外的染色体。 拷贝数变异可以看成是特殊的结构变异。鉴定SV对DNA测序深度有较高的要求(一般要>30x),而较低深度的(>5x)覆盖均一的DNA测序就可以鉴定到CNV。对于肿瘤样本中的体细胞CNV和SV,需要比较肿瘤样本和正常样本来得到肿瘤样本特有的变异。基因芯片技术分辨率较低,能检测到的片段都是大片段的(比如1kb以上)。二代测序对于比较大片段的SV,比如是超过150bp长的变异,一个reads是无法涵盖这个变异的,这种情况下会有不同的策略进行间接地推断。
Continue Reading如何进行科研写作——【转载】
最近在修改文章,感觉自己的英文表达能力和学术写作能力太弱,刚巧看到施一公教授分享的公众号文章,觉得收获很大,记录一下。 如何写论文 1.要写好科研论文,必须先养成读英文文章的习惯,争取每天30-60分钟。刚开始可以选择以读英文报纸、英文新闻为主,逐渐转为读专业杂志。我会在近期专门写一篇博客文章介绍一套行之有效的增强读专业杂志能力的办法。 2.写科研论文,最重要的是逻辑。逻辑的形成来自对实验数据的总体分析。必须先讨论出一套清晰的思路,然后按照思路来做图(Figures),最后才能执笔。 3.具体写作时,先按照思路(即Figures)写一个以subheading为主的框架,然后开始具体写作。第一稿,切忌追求每一句话的完美,更不要追求词语的华丽,而主要留心逻辑(logic flow),注意前后句的逻辑关系、相邻两段的逻辑关系。写作时,全力以赴,尽可能不受外界事情干扰(关闭手机、座机),争取在最短时间内拿出第一稿。还要注意:一句话不可太长。 4.学会照葫芦画瓢。没有人天生会写优秀的科研论文,都是从别人那里学来的。学习别人的文章要注意专业领域的不同,有些领域(包括我所在的结构生物学)有它内在的写作规律。科研文章里的一些话是定式,比如 “To investigate the mechanism of …, we performed …”, “These results support the former, but not the latter, hypothesis …”, “Despite recent progress, how … remains to be elucidated …” 等等。用两次以后,就逐渐学会灵活运用了。在向别人学习时,切忌抄袭。在美国一些机构,连续7个英文单词在一起和别人的完全一样,原则上就被认为抄袭(plagiarism)。
Continue Reading拷贝数变异机制
基本框架 拷贝数变异的博客框架: 介绍拷贝数变异的从属关系,和结构变异的关系;克隆性拷贝数变异和亚克隆拷贝数变异 拷贝数变异检测手段,拷贝数变异检测方法/算法(这个比较多,可以分多点讲) 结构变异的检测手段等等 引发拷贝数变异的机制 拷贝数变异的应用价值
Continue Reading什么是鲁棒性(robustness)
通过搜索发现,鲁棒性是一个应用很广泛的词汇,我们主要关注它在计算机科学的算法和统计学中代表的含义。 维基百科上这样描述:稳健性(英语:Robustness)是指一个计算机系统在执行过程中处理错误,以及算法在遭遇输入、运算等异常时继续正常运行的能力。 Robustness is the capacity of a method to remain unaffected by small, deliberate variations in method parameters.
Continue ReadingR包caret基本功能【1】——六种基本功能
介绍机器学习R包。 1. 数据分割 基于输出变量的分割 在建模之前,需要对样本数据进行分割分为训练集和测试集。在之前建模过程中,我发现我使用sample进行分割存在一定的问题,比如我分割出来的数据中response的占比在训练集和测试集中差别很大等等。caret包中可以解决这个问题,通过设置p值,同时确定训练集和测试集的占比,并各个因子水平下取占比(表述的有点问题)。 createDataPartition(y, times = 1, p = 0.5, list = TRUE, groups = min(5, length(y))) 2.
Continue ReadingR包mlr3基本功能【1】——R6类——需要修订
介绍机器学习R包mlr3,该包提供了分类、回归、生存分析以及其他的机器学习任务,包含超参的调节以及特征的选择,本地支持很多操作的并行化。 1. mlr3 Quickstart install.packages("mlr3") 对iris数据集的前120行训练一个决策树,并且对后30行进行最终的预测,最后判断预测模型的准确性。 library("mlr3") task = tsk("iris") learner = lrn("classif.rpart") # train a model of this learner for a subset of the task learner$train(task, row_ids = 1:120) # this is what the decision tree looks like learner$model 预测
Continue ReadingR包开发【2】——编写函数
R包功能的实现需要各种函数,函数应该如何编写?什么样的步骤可以被包括在函数里?函数需要哪些基本的功能?函数应该如何命名?函数可以通过调用函数并且给定参数来代替对代码的重复操作(当一个操作需要重复2次时),通过自定义的函数命名来使得功能易懂,并且方便后续的更新和更改,对功能进行更改只需要变更函数,而非在所有的代码中一一修改。 1. 基本步骤 写函数的基本步骤如下: 1.1 函数命名 命名要尽量短,而且指示函数的功能,长一点能够清楚的展示功能也无妨。 函数名尽可能是动词,不过相比使用get、compute、calculate、 determine这样宽泛的动词来说,名词相对更好,函数的参数尽可能是名词。想到好的名字随时去更改掉它。 当函数名包含很多单词时,可以统一选取一种使用,可以使用snake_case,或者camelCase的形式,两者不要混着用。
Continue ReadingR包开发【3】——R包开发细节
R包开发的各种细节。 1. 命名 尽量避免同时使用大小写字母 使用该包测试命名是否能用(???)。 library(available) available("doofus") 2. 依赖包 如果只是使用其他的包中的少量函数时,建议在DESCRIPTION文件中的Imports:中标注包的名称,并且在使用函数过程中使用pkg::fun()。如果需要重复使用函数,可以避免繁琐的::可以@importFrom pkg fun,这样可以更快速,因为::增加了5us去使用函数,管道符号也可以使用同样的方法使用@importFrom magrittr %>%。如果重复使用很多其他包中的函数,可以把这个包中所有的函数全部导入@import pkg,不过这样会使得包的代码比较不容易阅读。
Continue ReadingR包开发【1】——基本流程
任何可以被自动化的,都应该让它自动化,给自己省时间,也可以方便任何人使用。devtools的目的是使得开发工具变得容易,囊括了多个包来支持开发的各个功能。 前言:R包开发书籍的基本内容 第二章 示例包 第三章 为包开发准备系统 第四章 包的基本结构,不同的状态下结构不同(?) 第五章 回顾核心的工作流程,介绍核心工具之间的联系:devtools和usethis,Rstudio
Continue Reading检测拷贝数变异的工具及算法【2】-ABSOLUTE
背景介绍 1. 获取绝对拷贝数数值的难点 (1)采样过程中癌细胞混合了未知比例的正常细胞——肿瘤纯度; (2)由于染色体数量和结构异常导致的癌细胞的实际DNA含量(倍性)是未知的; (3)由于正在进行的亚克隆进化,癌细胞群可能是异质性的。 理论上,如果知道每个肿瘤细胞中DNA的含量,则可通过测得的相对拷贝数获得绝对拷贝数,或者通过单细胞测序技术解决。 2. 芯片原始原始数据格式.CEL 对于芯片数据来说,Affymetrix SNP芯片的原始文件为CEL文件,一个CEL文件即是一个个体的全部SNP分型结果。Affymetrix基因芯片是一种生物芯片,它包含一个对一个实验有效的微阵列。为了制造这些芯片,玻璃或硅载玻片上排列有探针,根据它们是否与原始DNA样本互补,探针将表达水平(强度)报告为完全匹配(PM)和不匹配(MM)值。.CEL文件格式有多个版本,使用不同的格式。例如,版本3使用ASCII文本格式,而版本4使用二进制格式。 注意:.CEL 文件需要相应的.CDF 文件,它是存储在.CEL文件中的原始探测级数据的字典。MATLAB有一个名为affyread的内置函数,可以用来读取Windows版本软件中的.CEL 文件。
Continue Reading检测拷贝数变异的工具及算法【1】-PCAWG consensus copy number
引言 PCAWG提供的拷贝数变异文件是综合6种不同的拷贝数变异提取工具的结果: ABSOLUTE ACEseq Battenberg CloneHD JaBbA
Continue Reading使用posterdown制作学术海报
引言 posterdown自动排版,通过调节参数满足个人制作海报的需要。 1. 介绍 目前posterdown支持3种风格的海报模板:posterdown_html、posterdown_betterland和posterdown_betterport。以posterdown_betterport为例进行阐述。 目前支持的三种模板风格 2. 创建海报 2.1 创建模板 直接通过新建R Markdown文件,选择posterdown模板则自动导入模板代码,如下: 创建模板
Continue Reading计算机组成
引言 1. 计算机组成 计算机的组成部件可以分为三大类:中央处理单元(CPU)、主存储器和输入/输出子系统。 中央处理单元 用于数据的运算。在大多数体系结构中,它有3个组成部分:算术逻辑单元(ALU)、控制单元、寄存器组、快速存储定位。 算术逻辑单元 对数据进行逻辑、移位和算术运算。 寄存器 用来存放临时数据的高速独立的存储单元。 控制单元
Continue Reading潜在语义分析(LSA)
引言 潜在语义分析(Latent sematic analysis, LSA)是一种无监督的学习方法。特点是通过矩阵分解来完成,使用的是非概率的话题分析模型,可以通过奇异值分解的方法进行矩阵因子分解,特点是分解的矩阵正交,非负矩阵分解是另一种矩阵的因子分解方法,特点是分解的矩阵非负。 1. 单词向量空间和话题向量空间 1.1 单词向量空间 给定一个含有 \( n \)个文本的集合\( D=\left { d_1,d_2,…,d_n \right } \),在所有文本中出现的\( m \)个单词的集合\( W=\left { w_1,w_2,…,w_m \right } \),将单词在文本中出现的数据用一个单词-文本矩阵表示,记作\( X \): $$ \begin{bmatrix} x_{11} &x_{12} &… &x_{1n} \ x_{21} &x_{22} &… &x_{2n} \ \vdots &\vdots & &\vdots \ x_{m1} &x_{m2} &… &x_{mn} \end{bmatrix} $$
Continue Reading隐马尔可夫模型(HMM)
引言 1. 马尔可夫模型的基本概念 来对2段氨基酸序列x和y进行残基比对,认为存在3种比对关系的状态: M:残基能够比对上但不一定相等 X:序列x的残基比对到1个空位,或x上发生了1次插入 Y:序列y的残基比对到1个空位,或y上发生了1次插入 序列比对就是在上述3个状态中不断转换的过程: \( M(i,j) \) : \( x_i \)比对到\( y_j \)时,序列x从1到\( i \)和序列\( y \)从1到\( j \)最好的比对分数 \( X(i,j) \) : \( x_i \)比对到空位时,序列x从1到\( i \)最好的比对分数 \( Y(i,j) \) : \( y_j \)比对到空位时,序列y从1到\( j \)最好的比对分数 转移(从一个状态到另外一个状态)概率:
Continue ReadingR:批量读入文件并合并
引言 使用do.call批量读入文件并合并。 1. 基本处理步骤 source_dir <- "文件所在路径" file <- list.files( path = source_dir, pattern = "*.
Continue Readingsynapser
引言 一个提供批量下载Synapser数据的R包。 1. 登陆 synLogin("baomihai@sina.com","******") Welcome, baomihai@sina.com!NULL 参考 biostars-How to install gdc-client in Ubnutu
Continue Reading处理字符串的两个R包:stringi和stringr
引言 stringr包是建立在stringi上的,stringi包使用ICU C库提供准确、快速的常见字符串操作,stringr提供了最重要和最常用的字符串处理函数。 stringr stringr包中所有的函数都以str_开头,第一个参数为字符串向量。对应的在base函数中也有功能一致的函数,记得对比两者之间的异同。 1. 找到自己需要的数据 tcga_mut <- read.csv2("/home/tzy/projects/CNX-method/data/TCGA/mc3.v0.2.8.PUBLIC.nonsilentGene.xena",sep = "\t") saveRDS(tcga_mut, file = "/home/tzy/projects/CNX-method/data/TCGA/tcga_mut.
Continue Readinggdc-client
引言 之前一直用别的方法下载数据,这次使用了gdc-client命令行去下载GDC上TCGA driver gene mutation的一批数据。 步骤 1. 找到自己需要的数据 这是我本次要下载的数据 点击数据下载地址发现出现如下界面,其中id就是使用gdc-client下载的文件对应的id 对于Open access data,使用这两种方法下载 下载了MAC的Client版本 2. 安装 解压下载的文件,如果双击会发现出现erro:
Continue ReadingR储存数据
引言 rds比RData省空间,为什么? 步骤 1. 找到自己需要的数据 tcga_mut <- read.csv2("/home/tzy/projects/CNX-method/data/TCGA/mc3.v0.2.8.PUBLIC.nonsilentGene.xena",sep = "\t") saveRDS(tcga_mut, file = "/home/tzy/projects/CNX-method/data/TCGA/tcga_mut.rds") save(tcga_mut, file = "/home/tzy/projects/CNX-method/data/TCGA/tcga_mut.
Continue Readinghugo主题增加valine评论功能_test
步骤 1. 配置Leancloud 这部分详细参考:hugo博客添加评论系统Valine 2. 更改 comments.html 文件 将整体内容替换成如下代码: <!-- valine change from origin code--> {{- if .
Continue Readinghugo增加TOC
引言 根据hugo-future-imperfect-slim主题中issue提到的TOC更改版本,改进后进行配置应用。 步骤 1. 更改 config.html 文件 在[params] 内容下加入以下参数: toc = true # 默认显示toc tocWords = 400 #超过400字显示toc 2.
Continue Reading博客优化计划
引言 分为功能改进、美观改进。 1. 博客功能改进 个人博客归档(已完成) date的时间更换成自动化填充,每次手动填写很麻烦 搜索中文优化,目前速度较慢 更改归档页面时间0001
Continue Readinghugo博客配置归档页面
引言 hugo没有自带的归档设置,需要手动添加。 操作步骤 在taozy_blog/layouts/_default/目录下创建 archives.html 文件 将taozy_blog/layouts/_default/目录下的 single.html 内容复制进 archives.html 文件(single.html的格式就是每篇博文的格式,也可以采用主题的contact.html的格式或者about.html的格式)
Continue ReadingERROR: Could not find a version that satisfies the requirement torch==1.5.1
引言 为了在集群上跑1000个模拟样本的SigprofilerExtractor工具,在集群上自己新建的环境里安装,解决安装bug,并成功使用。 解决bug思路 发现依赖torch1.5.1版本 通过pip install安装失败 使用whl安装发现没有对应python3.9的版本 根据版本推测1.
Continue ReadingExcel数字长度超13位尾号变0
引言 小雨毕业填各种表格,发现数字很长的时候会直接用0替代超长位数的数字,检索之后,给她解决了这个小问题。 操作方法 设置数字格式,在自定义中输入@ 重新输入可以发现已经可以了 参考资料: Excel数字长度超13位尾号变0或E+,教你这招只用一个0就能搞定
Continue Reading线程和进程
引言 看了一下廖雪峰的官方网站中对多线程和多进程的讲解,写的真是又简洁又明了,结合今天workshop中zk提到的并行计算,简单汇总写个学习笔记。 操作系统可以同时执行多任务,比如同时运行浏览器、QQ和word,CPU执行代码是按照顺序一条条的执行。 操作系统执行多任务是让CPU对多个任务轮流进行交替执行,比如让浏览器执行0.1秒,让word执行0.1秒。 不管是单核还是多核的CPU,都可以同时运行多个任务,单核CPU执行任务交替进行,多核CPU在任务数量多于CPU的核数时,也是交替执行任务。 一、进程 计算机中一个任务为一个进程,浏览器是一个进程,word也是一个进程。部分进程内部需要同时执行多个子任务,比如使用word一边打字一边检查拼写,一边后台打印,子任务就是线程。 操作系统调度的最小任务单位是线程。由于一个应用程序可以有,多个进程,也可以有多个线程,实现任务的方法包括: 多进程模式(每个进程只有一个线程): 多线程模式(一个进程有多个线程): 多进程+多线程模式(复杂度最高):
Continue Readingp值
介绍 p值的含义 假设存在药物A和药物B,想知道两种药物的区别? 维基百科定义:p值是假设检验中假设零假设为真时观测到至少与实际观测样本相同极端的样本的概率(似乎很拗口)。 p值是介于0-1之间的数字,量化我们相信两种药物不同的信心,p值越接近0,越相信两者不同。当p的阈值为0.05意味着,假设两种药物之间没有差异,执行多次且相同的实验,那么只有5%的实验会得出错误决定,简单来说,p值是对意外的测量。 p值能够帮助确定两种药物是否不同,但是不能告诉我们有什么不同,不管差异是都大还是小,都可以使用较小的p值,即较小的p值不代表差异是大还是小,只是代表意外的结果概率更小 。 阈值0.05的由来 不出于逻辑或统计原因,只是科学惯例。
Continue Reading使用CIBERSORTx网页版分析免疫浸润
前言
最近需要对TCGA和PCAWG的表达数据进行免疫浸润水平分析,使用了R包immunedeconv,其中TCGA已经有文献的supplement给出了不同免疫浸润工具进行分析的结果,PCAWG需要自己手动分析,其中CIBERSORT在immunedeconv包中运行需要两个文件:LM22.txt
,CIBERSORT.R
,需要在官网:https://cibersortx.stanford.edu/ 进行申请。
逻辑回归
引言 线性回归 假设数据包含 尺寸 和 重量 两组,根据这两组数据用 最小二乘法 拟合一条线后,我们可以做如下的事情: 计算r平方来确定两个变量是否相关 计算p值确定R平方是否具有统计显著性
Continue Reading使用Latex写论文
前言
最近写文章的时候,发现修改时调整参考文献的引用,是一件非常麻烦的事情,于是找到了一种简便的方法进行调整,发现了用Latex写论文原来这么好用(据涛哥和翔哥说,word也可以自动调整引用文献顺序,而我一直不知道…)。
Continue ReadingHugo+Github+阿里云域名搭建个人博客(附Netlify部署方法)
前言
最近师兄和涛哥都分享了这个流程:如何使用了R包blogdown搭建个人博客,但是我和轩哥在使用的过程中发现一个小问题,有一些主题似乎并不能很好的被blogdown安装的hugo来应用,几番求解无果,暂时将这个问题搁置,因为太喜欢这个theme不想放弃,所以找了一种不用blogdown的方法去搭建,终于取得成果。
Continue ReadingElements That You Can Use To Create A New Post On This Template.
Heading example Here is example of hedings. You can use this heading by following markdownify rules.
Continue Reading