Skip to main content
edited body
Source Link
WYSIWYG
  • 35.6k
  • 9
  • 68
  • 157

I have a list of ~200 DNA sequences, representing probably 50 different genomic regions but they're all mixed up. For example, if I have seq1, seq2.... seq10, sec1seq1 might align to seq3 and seq8, but be completely unrelated to the others.

There are also some differences in the lengths sampled, so the above example might represent:

Seq1-------------------------------------------------

Seq3---------------------- seq8-----------------

Such that seq3 and seq8 don't align to each other, but both align to seq1

So what I'd like to do is go through and somehow generate a list of groups of sequences that align to each other, as well as the alignments. eg:

Group 1

Seq1-------------------------------------------------

Seq3---------------------- seq8-----------------

Group 2

seq2------------------------------------

. seq6-----------------------------

. seq7--------------------------xxxxxx

Group 3... etc

Trying ClustalW or MUSSLE to align everything doesn't work (or takes an unreasonable amount of time), I'm guessing because there are so many sequences that don't align at all. I tried making a custom BLAST database and then BLASTed each sequence against it, but then I get multiple hits for the same alignment (with the group 2 example above, seq2:seq6, seq2:seq7, seq6:seq2, seq6:seq7, seq7:seq2 and seq7:seq6 all get returned as 6 unique hits, when they should be grouped together.

My current coding knowledge is fairly basic, but I'm willing to read docs and figure stuff out, I just don't want to reinvent the wheel.

Edit2: Really, the grouping is the important part - once I have the groups, I can do the alignment separately with little effort. I'd just like to have groups where each sequence is in a single group.

I have a list of ~200 DNA sequences, representing probably 50 different genomic regions but they're all mixed up. For example, if I have seq1, seq2.... seq10, sec1 might align to seq3 and seq8, but be completely unrelated to the others.

There are also some differences in the lengths sampled, so the above example might represent:

Seq1-------------------------------------------------

Seq3---------------------- seq8-----------------

Such that seq3 and seq8 don't align to each other, but both align to seq1

So what I'd like to do is go through and somehow generate a list of groups of sequences that align to each other, as well as the alignments. eg:

Group 1

Seq1-------------------------------------------------

Seq3---------------------- seq8-----------------

Group 2

seq2------------------------------------

. seq6-----------------------------

. seq7--------------------------xxxxxx

Group 3... etc

Trying ClustalW or MUSSLE to align everything doesn't work (or takes an unreasonable amount of time), I'm guessing because there are so many sequences that don't align at all. I tried making a custom BLAST database and then BLASTed each sequence against it, but then I get multiple hits for the same alignment (with the group 2 example above, seq2:seq6, seq2:seq7, seq6:seq2, seq6:seq7, seq7:seq2 and seq7:seq6 all get returned as 6 unique hits, when they should be grouped together.

My current coding knowledge is fairly basic, but I'm willing to read docs and figure stuff out, I just don't want to reinvent the wheel.

Edit2: Really, the grouping is the important part - once I have the groups, I can do the alignment separately with little effort. I'd just like to have groups where each sequence is in a single group.

I have a list of ~200 DNA sequences, representing probably 50 different genomic regions but they're all mixed up. For example, if I have seq1, seq2.... seq10, seq1 might align to seq3 and seq8, but be completely unrelated to the others.

There are also some differences in the lengths sampled, so the above example might represent:

Seq1-------------------------------------------------

Seq3---------------------- seq8-----------------

Such that seq3 and seq8 don't align to each other, but both align to seq1

So what I'd like to do is go through and somehow generate a list of groups of sequences that align to each other, as well as the alignments. eg:

Group 1

Seq1-------------------------------------------------

Seq3---------------------- seq8-----------------

Group 2

seq2------------------------------------

. seq6-----------------------------

. seq7--------------------------xxxxxx

Group 3... etc

Trying ClustalW or MUSSLE to align everything doesn't work (or takes an unreasonable amount of time), I'm guessing because there are so many sequences that don't align at all. I tried making a custom BLAST database and then BLASTed each sequence against it, but then I get multiple hits for the same alignment (with the group 2 example above, seq2:seq6, seq2:seq7, seq6:seq2, seq6:seq7, seq7:seq2 and seq7:seq6 all get returned as 6 unique hits, when they should be grouped together.

My current coding knowledge is fairly basic, but I'm willing to read docs and figure stuff out, I just don't want to reinvent the wheel.

Edit2: Really, the grouping is the important part - once I have the groups, I can do the alignment separately with little effort. I'd just like to have groups where each sequence is in a single group.

added 210 characters in body
Source Link
kevbonham
  • 230
  • 1
  • 10

I have a list of ~200 DNA sequences, representing probably 50 different genomic regions but they're all mixed up. For example, if I have seq1, seq2.... seq10, sec1 might align to seq3 and seq8, but be completely unrelated to the others.

There are also some differences in the lengths sampled, so the above example might represent:

Seq1-------------------------------------------------

Seq3---------------------- seq8-----------------

Such that seq3 and seq8 don't align to each other, but both align to seq1

So what I'd like to do is go through and somehow generate a list of groups of sequences that align to each other, as well as the alignments. eg:

Group 1

Seq1-------------------------------------------------

Seq3---------------------- seq8-----------------

Group 2

seq2------------------------------------

. seq6-----------------------------

. seq7--------------------------xxxxxx

Group 3... etc

Trying ClustalW or MUSSLE to align everything doesn't work (or takes an unreasonable amount of time), I'm guessing because there are so many sequences that don't align at all. I tried making a custom BLAST database and then BLASTed each sequence against it, but then I get multiple hits for the same alignment (with the group 2 example above, seq2:seq6, seq2:seq7, seq6:seq2, seq6:seq7, seq7:seq2 and seq7:seq6 all get returned as 6 unique hits, when they should be grouped together.

My current coding knowledge is fairly basic, but I'm willing to read docs and figure stuff out, I just don't want to reinvent the wheel.

Edit2: Really, the grouping is the important part - once I have the groups, I can do the alignment separately with little effort. I'd just like to have groups where each sequence is in a single group.

I have a list of ~200 DNA sequences, representing probably 50 different genomic regions but they're all mixed up. For example, if I have seq1, seq2.... seq10, sec1 might align to seq3 and seq8, but be completely unrelated to the others.

There are also some differences in the lengths sampled, so the above example might represent:

Seq1-------------------------------------------------

Seq3---------------------- seq8-----------------

Such that seq3 and seq8 don't align to each other, but both align to seq1

So what I'd like to do is go through and somehow generate a list of groups of sequences that align to each other, as well as the alignments. eg:

Group 1

Seq1-------------------------------------------------

Seq3---------------------- seq8-----------------

Group 2

seq2------------------------------------

. seq6-----------------------------

. seq7--------------------------xxxxxx

Group 3... etc

Trying ClustalW or MUSSLE to align everything doesn't work (or takes an unreasonable amount of time), I'm guessing because there are so many sequences that don't align at all. I tried making a custom BLAST database and then BLASTed each sequence against it, but then I get multiple hits for the same alignment (with the group 2 example above, seq2:seq6, seq2:seq7, seq6:seq2, seq6:seq7, seq7:seq2 and seq7:seq6 all get returned as 6 unique hits, when they should be grouped together.

My current coding knowledge is fairly basic, but I'm willing to read docs and figure stuff out, I just don't want to reinvent the wheel.

I have a list of ~200 DNA sequences, representing probably 50 different genomic regions but they're all mixed up. For example, if I have seq1, seq2.... seq10, sec1 might align to seq3 and seq8, but be completely unrelated to the others.

There are also some differences in the lengths sampled, so the above example might represent:

Seq1-------------------------------------------------

Seq3---------------------- seq8-----------------

Such that seq3 and seq8 don't align to each other, but both align to seq1

So what I'd like to do is go through and somehow generate a list of groups of sequences that align to each other, as well as the alignments. eg:

Group 1

Seq1-------------------------------------------------

Seq3---------------------- seq8-----------------

Group 2

seq2------------------------------------

. seq6-----------------------------

. seq7--------------------------xxxxxx

Group 3... etc

Trying ClustalW or MUSSLE to align everything doesn't work (or takes an unreasonable amount of time), I'm guessing because there are so many sequences that don't align at all. I tried making a custom BLAST database and then BLASTed each sequence against it, but then I get multiple hits for the same alignment (with the group 2 example above, seq2:seq6, seq2:seq7, seq6:seq2, seq6:seq7, seq7:seq2 and seq7:seq6 all get returned as 6 unique hits, when they should be grouped together.

My current coding knowledge is fairly basic, but I'm willing to read docs and figure stuff out, I just don't want to reinvent the wheel.

Edit2: Really, the grouping is the important part - once I have the groups, I can do the alignment separately with little effort. I'd just like to have groups where each sequence is in a single group.

Added example output and changed example problem with BLAST search
Source Link
kevbonham
  • 230
  • 1
  • 10

I have a list of ~200 DNA sequences, representing probably 50 different genomic regions but they're all mixed up. For example, if I have seq1, seq2.... seq10, sec1 might align to seq3 and seq8, but be completely unrelated to the others. 

There are also some differences in the lengths sampled, so the above example might represent:

Seq1-------------------------------------------------

Seq3---------------------- seq8-----------------

Such that seq3 and seq8 don't align to each other, but both align to seq1

So what I'd like to do is go through and somehow generate a list of groups of sequences that align to each other, as well as the alignments. eg:

Group 1

Seq1-------------------------------------------------

Seq3---------------------- seq8-----------------

Group 2

seq2------------------------------------

. seq6-----------------------------

. seq7--------------------------xxxxxx

Group 3... etc

Trying ClustalW or MUSSLE to align everything doesn't work (or takes an unreasonable amount of time), I'm guessing because there are so many sequences that don't align at all. I tried making a custom BLAST database and then BLASTed each sequence against it, but then I get multiple hits for the same alignment (with the group 2 example above, seq1seq2:seq3seq6, seq1seq2:seq8seq7, seq3seq6:seq1seq2, seq6:seq7, seq7:seq2 and seq8seq7:seq1seq6 all get returned as 46 unique hits, when they should be grouped together.

My current coding knowledge is fairly basic, but I'm willing to read docs and figure stuff out, I just don't want to reinvent the wheel.

I have a list of ~200 DNA sequences, representing probably 50 different genomic regions but they're all mixed up. For example, if I have seq1, seq2.... seq10, sec1 might align to seq3 and seq8, but be completely unrelated to the others. There are also some differences in the lengths sampled, so the above example might represent:

Seq1-------------------------------------------------

Seq3---------------------- seq8-----------------

Such that seq3 and seq8 don't align to each other, but both align to seq1

So what I'd like to do is go through and somehow generate a list of groups of sequences that align to each other, as well as the alignments.

Trying ClustalW or MUSSLE to align everything doesn't work (or takes an unreasonable amount of time), I'm guessing because there are so many sequences that don't align at all. I tried making a custom BLAST database and then BLASTed each sequence against it, but then I get multiple hits for the same alignment (with the example above, seq1:seq3, seq1:seq8, seq3:seq1 and seq8:seq1 get returned as 4 unique hits, when they should be grouped together.

My current coding knowledge is fairly basic, but I'm willing to read docs and figure stuff out, I just don't want to reinvent the wheel.

I have a list of ~200 DNA sequences, representing probably 50 different genomic regions but they're all mixed up. For example, if I have seq1, seq2.... seq10, sec1 might align to seq3 and seq8, but be completely unrelated to the others. 

There are also some differences in the lengths sampled, so the above example might represent:

Seq1-------------------------------------------------

Seq3---------------------- seq8-----------------

Such that seq3 and seq8 don't align to each other, but both align to seq1

So what I'd like to do is go through and somehow generate a list of groups of sequences that align to each other, as well as the alignments. eg:

Group 1

Seq1-------------------------------------------------

Seq3---------------------- seq8-----------------

Group 2

seq2------------------------------------

. seq6-----------------------------

. seq7--------------------------xxxxxx

Group 3... etc

Trying ClustalW or MUSSLE to align everything doesn't work (or takes an unreasonable amount of time), I'm guessing because there are so many sequences that don't align at all. I tried making a custom BLAST database and then BLASTed each sequence against it, but then I get multiple hits for the same alignment (with the group 2 example above, seq2:seq6, seq2:seq7, seq6:seq2, seq6:seq7, seq7:seq2 and seq7:seq6 all get returned as 6 unique hits, when they should be grouped together.

My current coding knowledge is fairly basic, but I'm willing to read docs and figure stuff out, I just don't want to reinvent the wheel.

Source Link
kevbonham
  • 230
  • 1
  • 10
Loading