fix: delstop arg check
This commit is contained in:
parent
bc4526da33
commit
f220da124e
1 changed files with 20 additions and 8 deletions
28
delstop.d
28
delstop.d
|
@ -139,27 +139,39 @@ void processFastaNT(string filePath, const FastaData fastaData) {
|
||||||
std.file.write(filePath, lines.join("\n"));
|
std.file.write(filePath, lines.join("\n"));
|
||||||
}
|
}
|
||||||
|
|
||||||
void processFasta(string fasta_aa, string fasta_nt){
|
void processFasta(string fasta_aa, string fasta_nt, string enableDelete){
|
||||||
// get pos from fasta_aa & modify
|
// get pos from fasta_aa & modify
|
||||||
FastaData fastaData = processFastaAA(fasta_aa);
|
FastaData fastaData = processFastaAA(fasta_aa);
|
||||||
|
|
||||||
if (fastaData.foundSpecialChar) {
|
if (fastaData.foundSpecialChar) {
|
||||||
// if found special, proces fasta_nt
|
backup(fasta_nt); // backup fasta_nt
|
||||||
// backup fasta_aa
|
|
||||||
backup(fasta_nt); // modify fasta_nt
|
|
||||||
processFastaNT(fasta_nt, fastaData); // modify fasta_nt
|
processFastaNT(fasta_nt, fastaData); // modify fasta_nt
|
||||||
}
|
}
|
||||||
|
if (enableDelete == "--delete"){ // delete the nt's gap to meet the requirement of trimal
|
||||||
|
if(!fastaData.foundSpecialChar){
|
||||||
|
backup(fasta_nt);
|
||||||
|
}
|
||||||
|
string content = readText(fasta_nt);
|
||||||
|
content = replace(content, "-", "");
|
||||||
|
std.file.write(fasta_nt, content);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void main(string[] args) {
|
void main(string[] args) {
|
||||||
if (args.length < 3) {
|
if (args.length != 3 && args.length != 4) {
|
||||||
writeln("Usage: program <fasta_aa> <fasta_nt>");
|
writeln("\t\t\tDelete StopCondon generated by Macse\n\t\t\t\tAuthor: Guoyi Zhang\n\t\tUsage: " ~ args[0] ~ " <fasta_aa> <fasta_nt> --delete\n\t\tNote: fasta_aa and fasta_nt should be macse output files\n\t\t--delete should be used when downstream software is tirmal");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
string fasta_aa = args[1];
|
string fasta_aa = args[1];
|
||||||
string fasta_nt = args[2];
|
string fasta_nt = args[2];
|
||||||
|
string enableDelete;
|
||||||
processFasta(fasta_aa, fasta_nt);
|
if(args.length>3){
|
||||||
|
enableDelete = args[3];
|
||||||
|
} else {
|
||||||
|
enableDelete = "";
|
||||||
|
}
|
||||||
|
|
||||||
|
processFasta(fasta_aa, fasta_nt, enableDelete);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue