fasta文件中序列的排序

同样的名为read_1.fa 的fasta文件,里面有若干序列,如:

>@r1
TGAATGCGAACTCCGGGACGCTCAGTAATGTGACGATAGCTGAAAACTGTACGATAAACNGTACGCTGAGGGCAGAAAAAATCGTCGGGGACATTNTAAAGGCGGCGAGCGCGGCTTTTCCG
>@r2
NTTNTGATGCGGGCTTGTGGAGTTCAGCCGATCTGACTTATGTCATTACCTATGAAATGTGAGGACGCTATGCCTGTACCAAATCCTACAATGCCGGTGAAAGGTGCCGGGATCACCCTGTGGGTTTAT
>@r3
ATCGCCCGCAGACACCTTCACGCTGGACTGTTTCGGCTTTTACAGCGTCGCTTCATAATCCTTTTTCGCCGCCGCCATCAGCGTGTTGTAATCCGCCTGCAGGATTTTCCCGTCTTTCNGTGCCTTGNT
..........等等

直接看代码:

 1 #encoding = utf-8
 2
 3 """
 4 简介:fasta文件中按id或者seqence长度排序
 5 作者:刘自军
 6 data:2017年5月17 21:38
 7 """
 8
 9 import sys
10
11 args = sys.argv
12
13 fasta = {}
14 with open(args[1]) as f:
15
16     for line in f:
17         line = line.strip()
18         if line.startswith(‘>‘):
19             ID = line
20             fasta[ID] = ‘‘
21         else:
22             fasta[ID] += line
23
24     if args[2] == ‘id‘:
25         fasta = sorted(fasta.items(),key=lambda i:i[0])  #按id排序       #python3中废除类iteritems(),但用items()可以实现同样的效果
26     elif args[2] == ‘len‘:
27         fasta = sorted(fasta.items(),key=lambda i:len(i[1]))  #按每个序列的长度排序
28     else:
29         fasta = fasta.items()
30
31     for k,v in fasta:
32             print (‘%s\n%s‘ %(k,v))
时间: 2024-11-03 22:08:06

fasta文件中序列的排序的相关文章

perl练习——FASTA格式文件中序列GC含量计算&perl数组排序如何获得下标或者键

一.关于程序: FUN:计算FASTA文件中每条序列中G和C的含量百分比,输出最大值及其id INPUT:FASTA格式文件 >seq1 CGCCGAGCGCTTGACCTCCAGCAAGACGCCGTCTGGCACATGCAACGAGCTGTAGCAGAC >seq2 ATGCCTAGAACGTTCGAGACTTCTCGGGTGCGGTAGAATTAGCCATTCGACCGACTTCCA GCATCTGCGAGCCGCCTGTTGATTGCATCCGCCGGGGACGCAACAAGGCAAG

fasta文件中DNA to RNA

同样的名为read_1.fa 的fasta文件,里面有若干序列,如: >@r1TGAATGCGAACTCCGGGACGCTCAGTAATGTGACGATAGCTGAAAACTGTACGATAAACNGTACGCTGAGGGCAGAAAAAATCGTCGGGGACATTNTAAAGGCGGCGAGCGCGGCTTTTCCG>@r2NTTNTGATGCGGGCTTGTGGAGTTCAGCCGATCTGACTTATGTCATTACCTATGAAATGTGAGGACGCTATGCCTGTACCAAAT

求fasta文件中互补序列

一个名为read_1.fa 的fasta文件,里面有若干序列,如: >@r1TGAATGCGAACTCCGGGACGCTCAGTAATGTGACGATAGCTGAAAACTGTACGATAAACNGTACGCTGAGGGCAGAAAAAATCGTCGGGGACATTNTAAAGGCGGCGAGCGCGGCTTTTCCG>@r2NTTNTGATGCGGGCTTGTGGAGTTCAGCCGATCTGACTTATGTCATTACCTATGAAATGTGAGGACGCTATGCCTGTACCAAATC

python文本处理---计算fasta文件中不同氨基酸的数目

#::!/usr/bin/python3 #-*- coding:utf-8 -*- #计算fasta文件中各个氨基酸的含量 import sys args=sys.argv f=open(args[1], 'r') fw=open('out.txt', 'w') line=f.read() txt=''.join(line.split('\n')[1:]) #可以得到氨基酸序列 #构建了各个氨基酸和含量的字典 ##注意collections模块中Counter的用法 from collecti

python学习——通过命令行参数根据fasta文件中染色体id提取染色体序列

提取fasta文件genome_test.fa中第14号染色体的序列,其内容如下: >chr1 ATATATATAT >chr2 ATATATATATCGCGCGCGCG >chr3 ATATATATATCGCGCGCGCGATATATATAT >chr4 ATATATATATCGCGCGCGCGATATATATATCGCGCGCGCG >chr5 ATATATATATCGCGCGCGCGATATATATATCGCGCGCGCGATATATATAT >chr6 ATCG

批量处理.cs文件中的命名空间排序及注释

公司里每个程序员在命名空间的排序和注释上都有很多的不同. 杂乱的命名空间: using System; using System.Collections.Generic; using Autodesk.Revit.UI; using BIMCore.UI.ModelessForm; using System.Text; using System.Windows.Forms; using System.Threading; using RevitDocument = Autodesk.Revit.

linux:srot进行对文件中的字段排序

sort对文件中的指定行进行排序,并将结果写到标准的输出.如果File参数指定了多个文件,那么sort命令将这些文件连接起来,当作一个文件进行排序. sort语法: sort[-fbMnrtuk] [file] 选项参数: -f忽略大小写差异. -b忽略最前面的空格. -r反向排序 -M以月份的名字来排序 -n使用纯数字进行排序 -u相同的数字仅出现一次 -t分隔符,默认是tab -k以哪个field来进行排序 sort默认是以第一个数据进行排序的,默认以字符串的形式排序,数字拍在字母前. so

mothur summary.seqs 统计fasta文件中每条序列的长度

在介绍summary.seqs的用法之前,我们首先需要搞清楚两个概念: 1)ambiguous bases 中文叫做模糊碱基,对于DNA序列来说,只有ATCG 4种碱基,在IUPAC定义的碱基标准中,出了上述4种碱基之外,还包括其他的碱基,可以代表不同类型的碱基 代码 英文含义 中文含义 G   Guanine 鸟嘌啉 A   Adenine 腺嘌啉 T (U) Thymine (Uracil) 胸腺嘧啶 (尿嘧啶) C   Cytosine 胞嘧啶 R (A or G) PuRine 嘌啉 Y

sort排序命令 uniq 去除排序过的文件中的重复行 cut提取命令 wc 统计命令

sort 命令对 File 参数指定的文件中的行排序,并将结果写到标准输出.如果 File 参数指定多个文件,那么 sort 命令将这些文件连接起来,并当作一个文件进行排序. sort语法 [[email protected] ~]# sort [-fbMnrtuk] [file or stdin] 选项与参数: -f :忽略大小写的差异,例如 A 与 a 视为编码相同: -b :忽略最前面的空格符部分: -M :以月份的名字来排序,例如 JAN, DEC 等等的排序方法: -n :使用『纯数字