I'm trying to create a random sequence of 100 DNA bases, with an equal number of A,C,G and T, but I can't make it happen.

2 次查看(过去 30 天)

I'm trying to create a random sequence of 100 DNA bases, with an equal number of A,C,G and T, but I can't make it happen. My code is:

total_bp=10000;
%open file
fid=fopen('Seq_Out.txt','w');
for i=1:total_bp
%random DNA sequence
SeqLength=100;
Seq=randseq(SeqLength,'Weights',[0.25 0.25 0.25 0.25]);
%write to file
fprintf(fid,'%s\n',Seq);
end
fclose('all');

采纳的回答

Walter Roberson
Walter Roberson 2018-4-19

Before the loop:

SeqLength=100;
bases = repmat('ACGT', 1, SeqLength/4);

The replace your

SeqLength=100;
Seq=randseq(SeqLength,'Weights',[0.25 0.25 0.25 0.25]);

with

Seq = bases(randperm(SeqLength));
  3 个评论
Image Analyst
Image Analyst 2022-11-23
@Radhwan Jawad start a new question for this.
@Nitzan Kahn If this solves the question for you then please click the "Accept this answer" link to award @Walter Roberson "reputation points" for the answer. Thanks in advance. 🙂

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Logical 的更多信息

标签

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by