序列格式轉(zhuǎn)化推薦看看SeqKit,TBtools等已有軟件,能用則用撞秋。
fasta格式轉(zhuǎn)fastq格式
- 比對軟件比如bowtie并不支持比對fasta格式的文件,所以需要把fasta轉(zhuǎn)為fastq格式嚣鄙,但是fasta和fastq相比缺少質(zhì)量值吻贿,所以只能偽造一個加上去,這里用到seqtk來偽造哑子,從而把fasta格式轉(zhuǎn)fastq格式舅列。作者:今天沒回家
seqtk seq test.fa -F "J" > test.fq
參考文章
批量修改fasta文件的序列名
轉(zhuǎn)載自BioInfo Voyager的博客,感謝他的分享卧蜓!
- 準(zhǔn)備輸入的fasta序列文件input_file(要求序列名中不包含第二步輸入序列集的分隔符)
- 準(zhǔn)備輸入的替換集replace_file, 兩列帐要,/t分隔(分隔符可以在腳本里修改)
- 使用以下python腳本,保存腳本為change_fa_name.py(腳本名稱可以自定義)弥奸。
from sys import argv
import sys
input_file = argv[1]
replace_file = argv[2]
output_file = argv[3]
with open(input_file, 'r') as f:
fasta_lines = f.readlines()
replacements = {}
with open(replace_file, 'r') as f:
for line in f:
(old_str, new_str) = line.strip().split('\t')
replacements[old_str] = new_str
with open(output_file, 'w') as f:
for line in fasta_lines:
if line.startswith('>'):
seq_id = line.split('>')[1].strip()
if seq_id in replacements:
new_seq_id = replacements[seq_id]
line = line.replace(seq_id, new_seq_id)
f.write(line)
else:
print(seq_id + ' is not in the replacement set, the program exits running, please check your replacement set!')
sys.exit()
else:
f.write(line)
保存腳本并運行
python change_fa_name.py input_file replace_file output_file