removed another part related to color-space
This commit is contained in:
parent
f122fad562
commit
545fb87feb
51
bwtmisc.c
51
bwtmisc.c
|
|
@ -157,57 +157,6 @@ int bwa_bwtupdate(int argc, char *argv[])
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
const int nst_color_space_table[] = { 4, 0, 0, 1, 0, 2, 3, 4, 0, 3, 2, 4, 1, 4, 4, 4};
|
|
||||||
|
|
||||||
/* this function is not memory efficient, but this will make life easier
|
|
||||||
Ideally we should also change .amb files as one 'N' in the nucleotide
|
|
||||||
sequence leads to two ambiguous colors. I may do this later... */
|
|
||||||
uint8_t *bwa_pac2cspac_core(const bntseq_t *bns)
|
|
||||||
{
|
|
||||||
uint8_t *pac, *cspac;
|
|
||||||
bwtint_t i;
|
|
||||||
int c1, c2;
|
|
||||||
pac = (uint8_t*)calloc(bns->l_pac/4 + 1, 1);
|
|
||||||
cspac = (uint8_t*)calloc(bns->l_pac/4 + 1, 1);
|
|
||||||
fread(pac, 1, bns->l_pac/4+1, bns->fp_pac);
|
|
||||||
rewind(bns->fp_pac);
|
|
||||||
c1 = pac[0]>>6; cspac[0] = c1<<6;
|
|
||||||
for (i = 1; i < bns->l_pac; ++i) {
|
|
||||||
c2 = pac[i>>2] >> (~i&3)*2 & 3;
|
|
||||||
cspac[i>>2] |= nst_color_space_table[(1<<c1)|(1<<c2)] << (~i&3)*2;
|
|
||||||
c1 = c2;
|
|
||||||
}
|
|
||||||
free(pac);
|
|
||||||
return cspac;
|
|
||||||
}
|
|
||||||
|
|
||||||
int bwa_pac2cspac(int argc, char *argv[])
|
|
||||||
{
|
|
||||||
bntseq_t *bns;
|
|
||||||
uint8_t *cspac, ct;
|
|
||||||
char *str;
|
|
||||||
FILE *fp;
|
|
||||||
|
|
||||||
if (argc < 3) {
|
|
||||||
fprintf(stderr, "Usage: bwa pac2cspac <in.nt.prefix> <out.cs.prefix>\n");
|
|
||||||
return 1;
|
|
||||||
}
|
|
||||||
bns = bns_restore(argv[1]);
|
|
||||||
cspac = bwa_pac2cspac_core(bns);
|
|
||||||
bns_dump(bns, argv[2]);
|
|
||||||
// now write cspac
|
|
||||||
str = (char*)calloc(strlen(argv[2]) + 5, 1);
|
|
||||||
strcat(strcpy(str, argv[2]), ".pac");
|
|
||||||
fp = xopen(str, "wb");
|
|
||||||
fwrite(cspac, 1, bns->l_pac/4 + 1, fp);
|
|
||||||
ct = bns->l_pac % 4;
|
|
||||||
fwrite(&ct, 1, 1, fp);
|
|
||||||
fclose(fp);
|
|
||||||
bns_destroy(bns);
|
|
||||||
free(cspac);
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
int bwa_bwt2sa(int argc, char *argv[])
|
int bwa_bwt2sa(int argc, char *argv[])
|
||||||
{
|
{
|
||||||
bwt_t *bwt;
|
bwt_t *bwt;
|
||||||
|
|
|
||||||
2
main.c
2
main.c
|
|
@ -27,7 +27,6 @@ static int usage()
|
||||||
fprintf(stderr, " pac2bwtgen alternative algorithm for generating BWT\n");
|
fprintf(stderr, " pac2bwtgen alternative algorithm for generating BWT\n");
|
||||||
fprintf(stderr, " bwtupdate update .bwt to the new format\n");
|
fprintf(stderr, " bwtupdate update .bwt to the new format\n");
|
||||||
fprintf(stderr, " bwt2sa generate SA from BWT and Occ\n");
|
fprintf(stderr, " bwt2sa generate SA from BWT and Occ\n");
|
||||||
fprintf(stderr, " pac2cspac convert PAC to color-space PAC\n");
|
|
||||||
fprintf(stderr, "\n");
|
fprintf(stderr, "\n");
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
@ -52,7 +51,6 @@ int main(int argc, char *argv[])
|
||||||
else if (strcmp(argv[1], "aln") == 0) ret = bwa_aln(argc-1, argv+1);
|
else if (strcmp(argv[1], "aln") == 0) ret = bwa_aln(argc-1, argv+1);
|
||||||
else if (strcmp(argv[1], "samse") == 0) ret = bwa_sai2sam_se(argc-1, argv+1);
|
else if (strcmp(argv[1], "samse") == 0) ret = bwa_sai2sam_se(argc-1, argv+1);
|
||||||
else if (strcmp(argv[1], "sampe") == 0) ret = bwa_sai2sam_pe(argc-1, argv+1);
|
else if (strcmp(argv[1], "sampe") == 0) ret = bwa_sai2sam_pe(argc-1, argv+1);
|
||||||
else if (strcmp(argv[1], "pac2cspac") == 0) ret = bwa_pac2cspac(argc-1, argv+1);
|
|
||||||
else if (strcmp(argv[1], "bwtsw2") == 0) ret = bwa_bwtsw2(argc-1, argv+1);
|
else if (strcmp(argv[1], "bwtsw2") == 0) ret = bwa_bwtsw2(argc-1, argv+1);
|
||||||
else if (strcmp(argv[1], "dbwtsw") == 0) ret = bwa_bwtsw2(argc-1, argv+1);
|
else if (strcmp(argv[1], "dbwtsw") == 0) ret = bwa_bwtsw2(argc-1, argv+1);
|
||||||
else if (strcmp(argv[1], "bwasw") == 0) ret = bwa_bwtsw2(argc-1, argv+1);
|
else if (strcmp(argv[1], "bwasw") == 0) ret = bwa_bwtsw2(argc-1, argv+1);
|
||||||
|
|
|
||||||
1
main.h
1
main.h
|
|
@ -6,7 +6,6 @@ extern "C" {
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
int bwa_fa2pac(int argc, char *argv[]);
|
int bwa_fa2pac(int argc, char *argv[]);
|
||||||
int bwa_pac2cspac(int argc, char *argv[]);
|
|
||||||
int bwa_pac2bwt(int argc, char *argv[]);
|
int bwa_pac2bwt(int argc, char *argv[]);
|
||||||
int bwa_bwtupdate(int argc, char *argv[]);
|
int bwa_bwtupdate(int argc, char *argv[]);
|
||||||
int bwa_bwt2sa(int argc, char *argv[]);
|
int bwa_bwt2sa(int argc, char *argv[]);
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue