I have a dataframe of 3 columns and 859 rows. The dataframe is like
df1:
MacroNode Prefix Suffix
AAACCGCCAATATCTCGACGAGAAAAGCGAC GCCAACTGGATAACCACGCCCTG GCCAACTGGATAACCACGCCC
ATTTCTGCGAGGTGCAGGGCAATTACATCAT TAGGCCTT AAAACCCTTGGAA
These are basically the node and prefix and suffix edges of a graph:
macronode + suffix = prefix of next macronode + that next macronode
I have to see what is the maximum stretch i can achieve by the rows present in this data frame. Thus I think first I have to combine the rows and then compare. But I am not able to understand how to do this. Any ideas are welcome.
Expected Outcome
I am giving a short dataframe here
Toy df:
MacroNode Prefix Suffix
GC T A
CA G C
AC C T
CT A A
As you can see here if you take the macronode's characters with the suffix character of the first row (GC + A) it is equal to the next row's prefix character + that next row's macronode's characters (G + CA).
But in my dataframe there is no guarantee that the rows are contiguous like in the toy example here I mentioned.
Then the output shall look like The maximum continuous path is : TGCAGCACCACTACTA which is 16 characters.
First few rows of the original dataframe:
MacroNode Prefix
1. AAACCGCCAATATCTCGACGAGAAAAGCGAC GCCAACTGGATAACCACGCCCTGAGACTCAAGGGCGT
2. AAACTTCTGCCGGAATATAAAGCCGCGCCGG AGCAAAGCGCGCCACTTCACCCTGAGCTT
3. AAAGCATTGTGGCCGGAACCGATGACGCGCC CGGCGTCCCCTGGATGATGGCTTT
4. AACACCACGCTGGAGATGGTTGCTGAACGTG AAATTATTAGAATTACAAGGGATTGCC
5. AACCAGAGCGTTCTGTTACGTGATGTGAACG AAGTTGCGCCGGGTAGGCGTTACTTTGCTG
6. AACGAAGTTCAGCCGCGTGCGAACGGTCAGG GGTATACGCTTCTGCTTCACGAATGTATTGCTGTT
7. AACTCGGGGCTCGGTCAGCACACCACGACCG AAAGAGATCCTGACCAACGATATCTCTGAC
8. AAGCGGTTGAGGAAGGGAAAATCGCGGAAAC ACCGATCCGGGCTGCGCTATCCGGG
9. AAGGCGCTCGTTGATGAACTGGAGCTGGCGC AATTTCGCGTTGCAGTCTGACTCTGCACGTCTT
10. AATATCGACCAGCAATTCGCCTAAAAAGAAG CCGCTGCCCGTGGATCAACCAGT
11. AATCCACACGTTCAGCAACCATCTCCAGCGT ATCCACTGGACGAGCTACGCCGCTT
12. AATCGCGATATTTACACAGACCTAAATAGTC
GCAAACACGATACCGATCCGGGCTGCGCTATCCGGGAAGCGGT
13. AATTTCCGGCGCGGCTTTATATTCCGGCAGA ACAGACGCTCGCGAGT
14. ACCACCCAGCACGATGCCAGAAATCAGTGGG AAACAGCGGCTCTCCACTGCCAGAGCAT
15. ACCAGCGTGCCTTCCATCATGTTCATTGCTA GCAGATCCGTGCTAACGCGGTCGTT
16. ACTGTTCCGGCGTGGCATTAGGTGTTGATCG CAGGCATACCGACTT
17. CCCTGGCCGTTTGCTTCGGCTTCGTGCTGGG ACTCTGGGTGTTG
Suffix
1. TAATGCCCTGATGCACGGCACC
2. GTCTCGATATACAGACGCTCGCGAGTAATTT
3. ATCCCCATCGCATTCA
4. TGGATTATCCACTGGACGAGCTACG
5. ATAACGCACAAACGCTGGCAAACCTGA
6. TTGTACGCACGCGCCTCTTCGAGGATACGTTGCG
7. C
8. CCGTTTCGAAAACTATC
9. AGCTGTCTGCCAATAA
10. TCAATCGCGAGGCCGGTTCGTT
11. AGGGATTGCCAACACC
12. CTCAGGGCTTTGTCGAATTCCAT
13. AGTTTAGCAAAGCGCGCCACTTCACCCTGAGCTTCCAGG
14. CCATGCGTGCTGCCAATGTA
15. GCTGGATATTCTGGTTGATGATGGTCATGTTCGCGGCCTGG
16. CAACGCTAAAGGCGATGACTTCAGCCAGTGTCTCCGCGCCCAGCGCCAACATCACCAGA
17. TAGCTTCATGCTGTAATGATCAATCGCGGGGC
I have written the suffix column separately as it was not fitting in the same line.