自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(49)
  • 收藏
  • 关注

原创 rosalind练习题二十九

返回所有符合条件的排列的总数,以及列出所有符合条件的排列。

2023-06-27 09:46:52 152

原创 rosalind练习题二十八

给定一个最长为100个碱基对的DNA字符串s和一个包含最多20个介于0和1之间的数字的数组A。要求返回一个与A具有相同长度的数组B,其中B[k]表示在使用A[k]中的GC含量构建的随机字符串与s完全匹配的概率的常用对数。# 计算AT和GC碱基的期望数量。# 取对数并将结果添加到数组B中。# 计算与s完全匹配的概率。# 计算每个GC含量对应的概率。# 初始化结果数组B。

2023-06-25 10:28:41 198

原创 pyfaidx:序列处理工具

--size-range 选项,表示只提取长度在 5500 到 6000 之间的染色体/序列,-i chromsizes 选项表示输出格式为 chrom.sizes 格式,每行第一列为符合条件的染色体/序列的名称,第二列为其长度(单位为 bp)# --delimiter='_ ' :使用下划线和空格作为序列名中的分隔符,最后的参数 000465.3 是你想要提取的染色体/序列的名称,即序列名中下划线和空格之后的部分。pyfaidx是一个处理序列文件的软件,类似于samtools中的faidx。

2023-06-21 09:55:03 387

原创 rosalind练习题二十七

这道题目中,给定两个正整数 n 和 k(满足 100≥n>0、10≥k>0),定义 P(n,k) 为从 n 个不同的对象中取 k 个对象进行排列的方案数,其中对象排列的顺序有限制(即只能考虑部分的排列方案),计算并输出 P(n,k) 对 1,000,000 取模后的结果。# 具体来说,P(n,k) 的计算方式为:P(n,k) = n*(n-1)...(n-k+1)。# 计算 P(n,k) 为 n*(n-1)* ... *(n-k+1)# 初始化P(n,k)为1。

2023-06-20 10:49:01 199

原创 ggplot2参数简介

ggplot(faithfuld, aes(waiting, eruptions, fill = density)) + geom_tile() + scale_fill_gradient(low = "blue", high = "red") + guides(fill = guide_colorbar(title = "密度", barwidth = 20))scale_shape() 和 scale_shape_manual():用于设置点的形状,可以选择圆形、三角形、正方形等多种形状。

2023-06-16 10:21:16 2236

原创 pyfastx:用于快速读取和处理序列数据

有时你的fasta会有一个很长的标题,其中包含多个标识符和描述,例如:>JZ822577.1 contig1 cDNA library of flower petals in tree peony by suppression subtractive hybridization Paeonia suffruticosa cDNA, mRNA sequence。# 如果索引文件已经存在,则应该删除以前的索引文件,然后使用key_func创建新的索引文件。# index:为fasta/q文件建立索引。

2023-06-15 09:55:03 477

原创 rosalind练习题二十六

本题要求计算RNA序列对应的碱基配对图中,所有含有k个碱基对的完美匹配数量。其中k为RNA序列的碱基数的一半。一个完美匹配表示所有碱基都和其它一个碱基配对,而且每个碱基只能匹配一次。我们可以使用公式 pn=(2n-1)(2n-3)...(3)(1) 来计算完美匹配的数量,其中 n = k * 2。因此,本题的步骤包括:根据给定的RNA序列生成碱基配对图,计算该图中所有含有 k 个碱基对的完美匹配的数量。# 检查A的数量等于U的数量,C的数量等于G的数量。# 计算A、C、G和U在s中的出现次数。

2023-06-14 14:26:30 687

原创 rosalind练习题二十五

这道题是要我们将给定的DNA序列拼接起来,得到一个包含所有序列的最短超级字符串。# 计算字符串之间的重叠部分长度。# 查找下一个要拼接的字符串。# 使用贪心算法拼接字符串。# 寻找最短的超级字符串。

2023-06-13 10:32:00 459

原创 rosalind练习题二十四

对于一个给定的长度为 n 的排列 π,求它的最长上升子序列和最长下降子序列。pre1 = [-1] * n # 记录前驱,方便输出。print(*ans1[::-1]) # 注意倒序输出。dp1 = [1] * n # 最长上升子序列。dp2 = [1] * n # 最长下降子序列。# 输出最长上升子序列。# 输出最长下降子序列。

2023-06-12 13:47:53 429

原创 rosalind练习题二十三

seq = ['A', 'C', 'G', 'T']# 基因序列包含的字符。# 使用itertools生成所有可能的组合。n =2 # 长度为2。# 列出长度为2的组合。

2023-06-09 10:36:11 1052

原创 rosalind练习题二十二

给出一段序列,给了2个内含子序列,需要将2个内含子去掉,将剩余的序列转录为RNA,翻译成蛋白质。

2023-06-08 10:48:25 913

原创 rosalind练习题二十一

这道题目给定一个长度不超过1000bp的DNA序列,要求找到其中所有的反向回文序列,然后输出它们在原序列中的位置和长度。反向回文序列指的是与其反向互补序列相等的序列,比如GCATGC就是一个反向回文序列,因为它的反向互补序列也是GCATGC。需要注意的是,找到的所有反向回文序列的长度必须在4到12之间,并且输出的顺序可以任意安排。# 找到所有的反向回文序列。# 读取FASTA文件。

2023-06-07 13:29:58 580

原创 rosalind练习题二十

定义氨基酸单一同位素质量表的字典。# 输入蛋白质序列x。

2023-06-06 10:14:05 109

原创 rosalind练习题十九

perms = list(itertools.permutations(range(1, n+1))) # 求出所有排列。# 这个题目的目的是输出长度为n的排列的个数以及所有排列。for perm in perms: # 输出每个排列。print(len(perms)) # 输出排列个数。n = 3 # 读取输入n。

2023-06-02 10:22:40 58

原创 rosalind练习题十八

给定一个长度不超过1 kbp 的 DNA 序列 s(FASTA 格式),求 s 的所有开放阅读框(ORF)所翻译出的蛋白质序列,其中一个开放阅读框指的是从起始密码子开始(ATG),以终止密码子(TAA、TAG 或 TGA)结尾,中间没有其它终止密码子。# 在正向序列和反向互补序列中分别查找可能的 ORF。# 定义函数,用于将 DNA 序列翻译成蛋白质序列。# 读取 FASTA 文件中的 DNA 序列。# 输出结果集中的所有 ORF。

2023-06-01 11:14:42 38

原创 rosalind练习题十七

给定一个不超过1000个氨基酸(字母“F”,“L”,“I”,“M”,“V”,“S”,“P”,“T”,“A”,“Y”,“H”,“Q”,“N”,“K”,“D”,“E”,“C”,“W”,“R”,“G”的字符串),求可以翻译成该蛋白质的不同RNA序列数目,答案对1,000,000取模。氨基酸则由RNA上的三个碱基编码而来,其中有一个“起始密码子”(AUG),还有三个“停止密码子”(UAA,UAG和UGA),分别表示蛋白质链的开端和结束。# 对于给定的蛋白质序列,根据RNA序列表格找到所有可能的RNA序列组合;

2023-05-31 15:28:18 46

原创 rosalind练习题十六

你可以通过访问 http://www.uniprot.org/uniprot/uniprot_id 来获取 UniProt 数据库中指定蛋白质的详细描述和特征,或者通过访问 http://www.uniprot.org/uniprot/uniprot_id.fasta 来获取该蛋白质的 FASTA 格式序列。# 因此,该正则表达式可以匹配以 N 开头,随后跟随一个非 P 氨基酸,然后是 S 或 T,最后再是一个非 P 氨基酸的基序。# [^P] 表示除了 P 外的任意一个字符,表示任意非 P 的氨基酸;

2023-05-30 10:18:31 48

原创 rosalind练习题十五

count = 2 ** k # 第 k 代中总共有多少个后代。p = 1 / 4 # AaBb 后代的概率。

2023-05-29 09:45:13 48

原创 rosalind练习题十四

if line.startswith(">"): # FASTA格式下一行为数据描述,跳过。if current_string[-1] == "": # 处理最后一个字符为空格的情况。# 题目要求我们找到一个 DNA 字符串集合中的最长公共子串,即motif。# 寻找最长公共子串并打印输出。

2023-05-26 09:39:31 51

原创 rosalind练习题十三

题目解析:这道题目中,我们要求解一个下一代具有显性基因表现型的期望值。通过阅读题目可以发现,每对夫妇产生两个后代,因此在下一代中AA-AA、AA-Aa、AA-aa、Aa-Aa、Aa-aa和aa-aa这六种基因型的分布情况可以通过父母基因型的乘积来计算。显性概率分别为1、1、1、0.75、0.5、0。由于每队夫妻有2个孩子,因此最后结果还有乘以2。

2023-05-25 10:26:19 82

原创 rosalind练习题十二

给定多个DNA序列,要求构建出一个overlap图。其中每个节点代表一个字符串,如果有一对字符串存在长度为k的后缀和前缀匹配(即后缀等于前缀),则在它们之间连一条从第一个字符串到第二个字符串的有向边。最终需要输出这个有向图的邻接表表示。# 如果两个字符串不同且存在长度为k的前后缀匹配,则加一条从s1到s2的有向边。# 这是一道关于序列比对的题目。# 构建overlap图。

2023-05-24 16:33:17 39

原创 rosalind练习题十一

著名的 Fibonacci 兔子问题。

2023-05-23 10:18:44 45

原创 rosalind练习题十

这道题的目标是找到DNA序列集合中,每个位置出现次数最多的字符,将这些字符组合成一个新的字符串并称之为共识串。同时需要输出一个矩阵,矩阵的第i行第j列表示在i位置上的A,C,G,T出现的次数。dna_strings.append(current_dna)# 最后一个DNA序列。if line[0] =='>':# 新的DNA序列开始。# 计算每个位置上的字符出现次数。# 计算共识串和计数矩阵。

2023-05-19 10:17:19 64

原创 rosalind练习题九

Problem# ATAT# 2 4 10# 找到motif# 代码:loc = []

2023-05-18 11:08:52 37

原创 rosalind练习题八

RNA序列翻译成蛋白序列。# biopython方法。

2023-05-17 10:02:11 36

原创 rosalind练习题七

Problem# 2 2 2# 0.78333# 孟德尔第一定律# 代码:

2023-05-16 10:10:20 32

原创 rosalind练习题六

这道题要求我们计算两个等长的 DNA 序列之间的 Hamming 距离,也就是这两个序列在同一位置上不同碱基的数量。计算两个等长的 DNA 序列之间的 Hamming 距离。

2023-05-15 09:01:09 56

原创 rosalind练习题五

Problem60.919540代码:

2023-05-12 09:45:08 52

原创 rosalind练习题四

Problem5 319​代码:return 1else:

2023-05-11 09:22:06 38

原创 rosalind练习题三

ProblemAAAACCCGGTACCGGGTTTT# 方法一# 方法二。

2023-05-10 09:25:07 55

原创 rosalind练习题二

seq = "GATGGAACTTGACTACGTAAATT" # 方法一 print(seq.replace("T","U")) # 方法二 from Bio.Seq import Seq seq = Seq(seq) print(seq.transcribe())

2023-05-09 09:07:21 51

原创 rosalind练习题一

Problem代码:# 第一种方法# 第二种方法a = 0b = 0c = 0d = 0a += 1b += 1c += 1d += 1。

2023-05-08 10:07:07 59

原创 常用比对软件

可以直接官网去下载:http://daehwankimlab.github.io/hisat2/download/(db.fa是数据库,db是索引的前缀,建大索引可加个参数--large-index)conda install -c bioconda hisat2 #或官网下载本地安装。详细用法请参考:https://github.com/lh3/minimap2。也可以构建:hisat2-build db.fa db。-s:写入sam文件。

2023-05-07 13:16:47 203

原创 linux三剑客之grep

grep -r -i "keyword" /home/xxx/ #还有一个"-R",这2个区别是"-r"不会跟随符号链接进行搜索,"-R"会搜索链接所指向的文件。grep "a" file.txt | less #匹配并用less显示,以免内容太多的时候,打印太多。区别:-e 选项用于匹配多个模式,而 -E 选项则是用于支持更高级的正则表达式语法。grep "a" file.txt | wc -l #匹配并计算行数。grep "a" file.txt | sort #匹配并排序。

2023-05-06 10:39:43 51

原创 linux分割软件-split

b:每一个分割数据的字节大小,单位有K、M、G、T、P、E、Z、Y或者KB、MB等。--filter=COMMAND:写入shell命令,文件名为$file。-n:生成chunks文件,chunks文件可以具体查看帮助信息 --help。--additional-suffix:添加一个附加的后缀到文件名后。-a:后缀长度,默认为2,以aa、ab、ac等打印。-u:用“-n r/..."将输入复制到输出。-e:不生成带有“-n"的空输出文件。

2023-05-05 16:44:22 41

原创 linux三剑客之sed

参考文档:https://github.com/adrianlarion/useful-sed#one-liners-with-short-explanation。

2023-04-28 11:08:55 52

原创 linux三剑客之awk

将换行符更改为tab符号,根据自己需要更改:awk -v ORS='\t' '{print $0,NR}' test.txt。将文件以tab为换行符,只要有tab就换行:awk -v RS='\t' '{print $0,NR}' test.txt。计数匹配到的"m"的次数并输出:awk '/m/{count++} END{print count}' test.txt。以","分割文本:awk 'BEGIN{FS=","}{print $1}' test3.txt。

2023-04-27 15:26:00 545

原创 生物信息学基础(五)- seqkit

split:按id/seq region/size/parts将序列拆分为文件(主要用于FASTA)grep:通过ID/name/sequence/sequence/motif搜索序列,允许不匹配。​官方文档:http://bioinf.shenwei.me/seqkit。sort:按id/name/sequence/length排序。rmdup:删除重复序列的ID/name/sequence。subseq:按照region/gtf/bed获取子序列。sum:计算fq/fa文件中所有序列的消息摘要。

2023-04-26 13:24:21 371

原创 python基础(三)

os.listdir(path):返回path指定的文件夹包含的文件或文件夹的名字的列表os.makedirs(path[, mode]):递归文件夹创建函数。更多参数请参考官方文档:https://docs.python.org/3/library/os.html#module-os。file.read() #file.readline()或file.readlines()print(next(a)) # 结果:1。print(next(a)) # 结果:2。发生异常时执行的代码。

2023-04-25 09:53:02 21

原创 linux基础(二)

原生bash不支持简单的数学运算,但是可以通过其他命令来实现,通常用expr。a=`expr 1 + 1` # 此处符号不是引号,而是"`"$1:传入第一个参数,2,3,4,5就代表着第二个、第三个等等。$*:以一个单字符串显示所有向脚本传递的参数。-ge:左边的数是否大于等于右边的。-le:左边的数是否小于等于右边的。-gt:左边的数是否大于右边的。-lt:左边的数是否小于右边的。打印结果:1 3 1 2 3。$#:传递到脚本的参数个数。一、shell传递参数。

2023-04-24 11:59:27 34

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除