yy951010 发表于 2024-9-7 08:57

统计每个基因的核苷酸数

本帖最后由 苏紫方璇 于 2024-9-10 00:44 编辑

```
from Bio import SeqIO
import pandas as pd

# 读取FASTA文件并统计核苷酸数量
def count_nucleotides(fasta_file):
    gene_counts = []
    for record in SeqIO.parse(fasta_file, "fasta"):
      gene_name = record.id
      nucleotide_count = len(record.seq)
      gene_counts.append({"Gene Name": gene_name, "Nucleotide Count": nucleotide_count})
   
    return gene_counts

# 将统计结果输出到Excel表格
def export_to_excel(data, output_file):
    df = pd.DataFrame(data)
    df.to_excel(output_file, index=False)

# 主函数
if __name__ == "__main__":
    fasta_file = "path/to/your/genes.fasta"# 替换为你的fasta文件路径
    output_file = "gene_nucleotide_counts.xlsx"
   
    # 统计核苷酸数量
    gene_counts = count_nucleotides(fasta_file)
   
    # 导出到Excel
    export_to_excel(gene_counts, output_file)
    print(f"统计结果已输出到 {output_file}")
```

苏紫方璇 发表于 2024-9-10 00:46

yy951010 发表于 2024-9-8 11:04
嗯呢,提交成功以后才看到不对,不太会这个怎么整,下次直接粘贴好了

已经帮您修改了,用md插代码要使用代码标记,不可以直接复制进去,直接复制可以使用编辑器的“代码”按钮功能

yy951010 发表于 2024-9-8 11:09

田田爱崽崽 发表于 2024-9-7 10:06
我记忆中gff文件里不是有起止位置吗?

嗯呢,是的gff文件里面有,特定环境需要,我一般就只能gff提取出来序列就ok了,还有别的筛选条件,用gff不方便

田田爱崽崽 发表于 2024-9-7 10:06

我记忆中gff文件里不是有起止位置吗?

byjimo 发表于 2024-9-7 10:13

原来生物老哥也用这种来统计的麽?

dingjitao 发表于 2024-9-7 10:52

很专业!

三滑稽甲苯 发表于 2024-9-7 17:36

帖子格式貌似有些问题

yy951010 发表于 2024-9-8 11:04

三滑稽甲苯 发表于 2024-9-7 17:36
帖子格式貌似有些问题

嗯呢,提交成功以后才看到不对,不太会这个怎么整,下次直接粘贴好了

yy951010 发表于 2024-9-8 11:05

dingjitao 发表于 2024-9-7 10:52
很专业!

谢谢,请多多指教{:1_893:}

yy951010 发表于 2024-9-8 11:07

byjimo 发表于 2024-9-7 10:13
原来生物老哥也用这种来统计的麽?

做批量分析的时候会很麻烦, 这样省心,直接就出结果了

159357ssy 发表于 2024-9-8 13:41

谢谢,学习一下思路
页: [1] 2
查看完整版本: 统计每个基因的核苷酸数