contig N50---小脚本

news/2024/10/22 16:37:18/

文章目录

    • 1. contig N50 的定义
    • 2. 脚本实现
      • 1. N50 计算:
      • 2. GC 含量计算

1. contig N50 的定义

基因组的统计信息包含GC含量,N50等等,这里我们计算N50的算法:
N50是指一个基因组所有的contig,按照长度从大到小排列,一直长度加和,一直到某条contig达到该基因组总共长度的1/2时,那么这条contig的长度,就是N50的值。N50可以作为评价一个基因组拼接好坏的条件之一。

2. 脚本实现

1. N50 计算:

# 以sequence.fasta 为列,来计算N50的值
# 基因组拼接时,contig是按照长度从大到小排列的
f = open('sequence.fasta', 'r').readlines()
total_length = 0
for i in f:if not i.startswith('>'):seq_length = len(i.strip())total_length += seq_lengthvariable_length = 0
for i in f:if not i.startswith('>'):seq_length = len(i.strip())variable_length += seq_lengthif variable_length >= total_length / 2:print('N50 : %s'%seq_length)          #输出N50的值break

2. GC 含量计算

# 以sequence.fasta 为列,来计算N50的值f = open('sequence.fasta', 'r').readlines()
total_length = 0
total_seq = ''
for i in f:if not i.startswith('>'):seq_length = len(i.strip())total_length += seq_lengthtotal_seq += i.strip()GC_number = 0
for j in total_seq:if j == 'C' or j == 'G':GC_number += 1GC_percent = GC_number / total_length     # 输出为GC含量
print(f'GC percent : {GC_percent}')

http://www.ppmy.cn/news/209000.html

相关文章

echarts与tp5.1(柱状图)

**简介&#xff1a;**利用echarts和tp5.1将数据以柱状图的形式展示。 div部分&#xff1a; <div id"chart1" style"height: 280px;"></div>JS部分&#xff1a; var myChart echarts.init(document.getElementById(chart1));var arr1[],arr2[…

2018年8月16日暑假训练日记

宾馆租期到了&#xff0c;早上打理了一下宿舍的事儿。 下午很难受的暴零了&#xff0c;大佬做出来个区间dp&#xff0c;我现学了期望dp&#xff0c;然后写了个期望dp超时了&#xff0c;要是m变成原来的一半就过了&#xff0c;正好卡死了&#xff0c;然后搞了一发假dp&#xff0…

统计fasta序列条数

1.统计大于号开始的行数或seqkit 工具 # 通过搜索>的数量 grep -c ^> myFasta.fasta 1397492 #seqkit统计提取&#xff0c;速度也是很快的 seqkit stats t.fa -T | grep -v file | cut -f 4 1397492 # 统计 1-100bp 范围长的序列数 cat t.fa | seqkit seq -m 1 -M 100 | …

linux系统tcl电视刷机包,【欢视商店】TCL电视RT95系列升级包与刷机包

原标题:【欢视商店】TCL电视RT95系列升级包与刷机包 以下为系列升级包与刷机包下载,提醒:原则上TCL不负责用户个人更改软件后的行为,所以刷机请谨慎!有需要的用户可以选择性下载使用。 首先小编先跟大家介绍一下固件升级方法及注意事项: 1)将获取的版本压缩包(解压)拷贝到F…

QUAST:评估基因组组装效果

欢迎关注"生信修炼手册"&#xff01; 对于不同kmer或者不同软件的基因组组装结果&#xff0c;我们通常会通过N50等指标来进行评估。 对于一个组装出来的序列&#xff0c;不论是contig还是scaffold, 首先将各个序列根据长度从大到小排序&#xff0c;然后从第一个序列开…

【Cadence Virtuoso】番外:如何根据仿真获取不同工艺库的MOS参数

前言 本博文为个人在学习Cadence Virtuoso时的记录&#xff0c;巩固自己学习的同时&#xff0c;也给其他初学者一些参考&#xff0c;学习过程中使用到的软件为Cadence IC617运行在CentOS7系统下&#xff0c;参考的书籍为Razavi的《模拟CMOS集成电路设计》。 为了后续各种电路…

rol 循环左移 计算_指令ROL reg/mem, 1表示循环左移,该指令执行后最高位移至( )中,同时最高位移至( )中。_学小易找答案...

【填空题】I/O 能够实现独立变址的主要原因:8086外部引脚设计了 引脚 【填空题】汇编语言指令中DEC是( )指令;指令NEG是( )指令。 【简答题】图灵机数学模型是什么? (8.0分) 【填空题】汇编语言指令SAR表示非循环移位中的( )功能。 【填空题】汇编语言指令( )表示循环移位中的…

Java(等级划分)

import java.util.Scanner;public class next {public static void main(String[] args){//声明部分int score;String level;Scanner sc new Scanner(System.in);//输入部分System.out.print("score ");score sc.nextInt();//处理部分level " ";if (sc…