当前位置:首页 > FASTA序列文件处理一网打尽
FASTA序列文件处理一网打尽
推荐两个地方:地方一都是小脚本,但实用,大伙也可以自己练习写。地方二成熟软件SeqKit,也很实用。一、小脚本大家可以在这里下载以下脚本:
https://github.com/jorvis/biocode/tree/master/fasta 各脚本作用信息如下:
|-- append_to_fasta_header.py每个序列ID添加后缀|-- check_for_embedded_fasta_headers.py检查此种错误类型fasta序列>gi1006569 DnaA [Vibrio
harveyi]MSSSLWLQCLQQLQEELPATEFSMWVRPLQAEVLHAC>gi409247 DNA repair
proteinMVSLTFKNFKKEKVPLDLEPSNTILETKTKLAQSISCEESQIKLIYSGKVLQDSKTVSECGLKDGDQVVF|-- compare_two_fastas.pl比较两个文件相同序列与不同序列数目|-- convert_fasta_contigs_to_gff3.py将contig序列转换为GFF格式|-- convert_fastq_to_fasta.py将FASTQ转换为FASTA|-- create_fasta_pseudomolecules.pl从遗传图或者Hi-C确定的map信息文件中获得假染色体序列(将contig连成染色体序列)|-- extract_fasta_regions.py提取特定区域的序列|-- fasta_base_content.py碱基含量统计|-- fasta_size_distribution.plGC含量和长度分布统计|--
fasta_size_distribution_plot.py序列长度分布作图|-- fasta_size_report.pl序列长度信息统计|--
filter_fasta_by_header_regex.py使用正则表达式获取FASTA序列|-- filter_fasta_by_ids.pl根据ID提取序列|-- filter_fasta_by_size.pl根据长度过滤序列|--
merge_fasta_files_and_uniquify_ids.py你有多个序列ID相同的文件,想合并一起,保证序列ID唯一性 >CL1Contig1 >CL1Contig2|--
merge_masked_fasta_files.py将不同软件冰壁重复序列结果合并|-- prepend_to_fasta_header.py你有多个序列ID相同的文件,想合并一起,在序列前面添加前缀,保证序列ID唯一性|-- reformat_fasta_residue_lengths.py按照一行固定字符数目重新显示FASTA序列|--
remove_duplicate_sequences.py移除掉重复的序列|-- remove_empty_sequences.pl移除掉文件中空的序列|-- reorient_fasta.pl从某一位置截取序列到另一个文件中|-- reorient_sequences_by_id.py将指定序列反向或者反向互补|-- split_fasta_into_even_files.py分割成指定数目的文件|-- split_interleaved_sequence_file.py将FASTQ/FASTA序列中成对的分成R1,R2两个文件,单独非成对的生成一个文件|-- subsample_fasta.py随机抽取指定数目的FASTA序列|-- validate_fasta.py主要检查以下内容:- ERROR: Entry
with 0-length sequence- ERROR: No > symbols embedded in sequence residues (suggests merged records)- ERROR: Nonzero-length identifier after > symbol until first whitespace- ERROR: Multiple records within an individual file with same identifier- ERROR: Incorrect record count (if --expected_record_count is passed)- ERROR: Make sure the file ends with a blank line (else commonly used tools like cat will cause errors)- WARNING: Residue lines > 60bp- WARNING: Comment lines with # (most parsers will fail to handle this)- WARNING: Homopolymers of length > --homopolymer_limit which are not Ns- WARNING: Internal stops (*) detected in protein FASTA (if --check_internal_stops is passed)`--
write_fasta_from_gff.pl从GFF提取CDS和蛋白序列 二、SeqKit
处理FASTA和FASTQ的神器,window\\linux系统版本都有.对于没有编程基础的小伙伴们,我们照样可以轻松操作序列文件。该软件功能强大,小编只罗列部分模块功能,更详细功能参见软件网站:
http://bioinf.shenwei.me/seqkit/usage/。 一、序列操作。 seqkit seq [flags] file
参数: -p, --complement 取互补序列 --dna2rna DNA to RNA -l,
--lower-case 将序列以小写字母形式输出 -g, --remove-gaps 移除组装序列中的gap -r,
--reverse 取反向序列 --rna2dna RNA to DNA -u, --upper-case 将序列以大写字母形式输出-w, --line-width int 以每行指定长度输出序列 (0 for no wrap) (default 60)举例:seqkit seq test.fa -w 0#将此文件fasta序列转换成一行输出seqkit seq -w 100 test.fa#将此文件fasta序列转换成100个碱基一行输出seqkit seq --dna2rna test.fa#将此文件fasta序列dna转换成rnaseqkit seq -w 100 -p -r test.fa#将此文件fasta序列反向互补输出,每行100碱基二、Fasta/q之间及与tab格式互换1、FASTQ转换成FASTA: seqkit fq2fa 举例:seqkit fq2fa reads_1.fq -o reads_1.fa2、FASTA/FASTQ转换成tab格式。seqkit fx2tab举例:seqkit fx2tab test.fa>test.fa.tab.faseqkit fx2tab
test.fq>test.fq.tab.fqtab格式:ID sequence三、序列信息统计1、序列碱基含量及序列长度信息统计 seqkit fx2tab [flags]参数: -B, --base-content value 要输出的碱基含量e.g. -B AT -B N -g, --gc print GC content -l, --length print sequence length
共分享92篇相关文档