samedi 2 mai 2015

extract FASTA sequence using sequence ID

I have two files: File 1:

84C2|Locus_14_Transcript_1/3_Confidence_0.571_Length_1244
AAACTAGTCAATAGAGAAAATCCAAAGTGGATGAAATTGAAGTGATTGTATGGCACAAGT
GGGAAGTATCAGCTAGCTCCAGAATGGATATGTGGTGCACATCTACCAATCTGTCTTTCT
CTCTCACCGCATAATTCTTACTTACACAACTATACCTCTACCGCCCTTTCCAGCAATTCT
CTCTCACTGCTCCACGGATCCTATTACTCTCCTGTTTTCATGACATAAACCATCGATAGT
TGCTTTCCATTTTCCACACGCAATGAGCCATTCGTTGCAACTGTAGTATTATTGTCCTAT
CTTCATATATATATATATATATATATATATATATCAGTCATGGCCTCCTTAATGCTCAGT
GGAGCCCAAAATCCAAAGCTCATCACTGGCTTAGCCTCAACTGCTGTTAACTTGAACGAC
AAGTGCTTTTTCAAGAAGGCTGTGCCGTCTCATGACAAGTTCAGGGTCAGAAAAAAAATG
ACCCTCAGATGCAGCATCTCAGCCTCTAGGCCTGCTTCTCAGCCTAGGTTCATCCAGCAC
AAGAAGGAGGCATTTTGGTTCTACAGGTTTCTGTCTATTGTGTATGATCATATAATAAAT
CCTGGCCACTGGACCGAAGACATGAGAGATGAGGCGCTGGAGCCTGCCGATCTCTACAGC
CGTAACCTGAGGGTGGTGGATGTTGGAGGTGGAACTGGCTTCACAACTCTTGGAATAGTG
AAGCGTGTGGATGCCAAAAACGTTACAATTCTTGACCAGTCACCCCACCAGCTTGCCAAG
GCTAAGAAGAAGGAGCCCCTCAAAGAATGCAAGATAATTGAGGGTGATGCAGAAGATCTT
CCATTTCCAACTGATTATGCTGATAGATATATTTCTGCTGGAAGTATTGAATACTGGCCA
GACCCGCAGCGTGGCATTAAAGAAGCCTACAGAGTGCTAAGGATAGGGGGAAAAGCTTGT
GTTATTGGTCCAGTCCACCCAACATTTTGGTTGTCTCGGTTCTTCGCAGATGTCTGGATG
CTCTTCCCCAAGGAGGAAGAGTACATTGAATGGTTTAAAAAGGCTGGATTCAAAGATGTT
GAGCTCAAAAGGATTGGTCCAAAATGGTATCGTGGGGTGCGTAGGCACGGTCTCATCATG
GGTTGCTCAGTCACAGGAGTGAAGCCTTTTTCTGGAGACTCTCCTCTCACGCTTGGTCCC
AAGGTAGAGGATGTGAAGAAGGCTGTAAATCCACTAGTGTTTCT
>84C2|Locus_14_Transcript_2/3_Confidence_0.857_Length_1961
AAACTAGTCAATAGAGAAAATCCAAAGTGGATGAAATTGAAGTGATTGTATGGCACAAGT
GGGAAGTATCAGCTAGCTCCAGAATGGATATGTGGTGCACATCTACCAATCTGTCTTTCT
CTCTCACCGCATAATTCTTACTTACACAACTATACCTCTACCGCCCTTTCCAGCAATTCT
CTCTCACTGCTCCACGGATCCTATTACTCTCCTGTTTTCATGACATAAACCATCGATAGT
TGCTTTCCATTTTCCACACGCAATGAGCCATTCGTTGCAACTGTAGTATTATTGTCCTAT
CTTCATATATATATATATATATATATATATATATATATCAGTCATGGCCTCCTTAATGCT
CAGTGGAGCCCAAAATCCAAAGCTCATCACTGGCTTAGCCTCAACTGCTGTTAACTTGAA
CGACAAGTGCTTTTTCAAGAAGGCTGTGCCGTCTCATGACAAGTTCAGGGTCAGAAAAAA
AATGACCCTCAGATGCAGCATCTCAGCCTCTAGGCCTGCTTCTCAGCCTAGGTTCATCCA
GCACAAGAAGGAGGCATTTTGGTTCTACAGGTTTCTGTCTATTGTGTATGATCATATAAT
AAATCCTGGCCACTGGACCGAAGACATGAGAGATGAGGCGCTGGAGCCTGCCGATCTCTA
CAGCCGTAACCTGAGGGTGGTGGATGTTGGAGGTGGAACTGGCTTCACAACTCTTGGAAT
AGTGAAGCGTGTGGATGCCAAAAACGTTACAATTCTTGACCAGTCACCCCACCAGCTTGC
CAAGGCTAAGAAGAAGGAGCCCCTCAAAGAATGCAAGATAATTGAGGGTGATGCAGAAGA
TCTTCCATTTCCAACTGATTATGCTGATAGATATATTTCTGCTGGAAGTATTGAATACTG
GCCAGACCCGCAGCGTGGCATTAAAGAAGCCTACAGAGTGCTAAGGATAGGGGGAAAAGC
TTGTGTTATTGGTCCAGTCCACCCAACATTTTGGTTGTCTCGGTTCTTCGCAGATGTCTG
GATGCTCTTCCCCAAGGAGGAAGAGTACATTGAATGGTTTAAAAAGGCTGGATTCAAAGA
TGTTGAGCTCAAAAGGATTGGTCCAAAATGGTATCGTGGGGTGCGTAGGCACGGTCTCAT
CATGGGTTGCTCAGTCACAGGAGTGAAGCCTTTTTCTGGAGACTCTCCTCTCACGGTACG
TATAATATTGCTTTTTCTTTCTTCTCCTTTCTATTCTAAGATTCGTTTTTTTCTCAAACA
CATAAAAGTAATAGCATTCACCAAACACAACTATGTTGTGTTCTTGGCTTTATGCAGCTT
GGTCCCAAGGTAGAGGATGTGAAGAAGGCTGTAAATCCACTAGTGTTTCTTTACCGGTTC
ATCCTTGGTGTAATTGCATCCACTTACTACGTACTAGTACCAATCTACATGTGGATCAAA
GACAAAATTGTTCCAAAGGGCATCCCCATTTAAGATTGGAAAAAGTAGGATGGTCAAGTG
TTTGTGAAGTGTGAAGGATATAACAATTCGATATCTTACTTCAATCTTTCCAACTTTCAA
ACGTAGGATTGACATGCTTCAAAACCATTAGCTTAGTTTTCTGCCGTTACTGGCTTCATC
TGTTTTTGTTGGAGAGGATTTTACAGAAGCAGAAGATGTGCTGAGTTTAATTTGTATCTG
TCATTTGGCAAAGAAATATAGAATGTGTGATGTGGTAGGCTGTTGTTGTTCGATGAACAG
TGTCAGGATCAGTAAAATGGTGTGCTTCTTTTTTGCTTTGCTTTGTACCAAATGTACACG
ACAGGCTAATTATGATTGTTCTAGCTCATATATGTCTTTGATGATGATTTGTAGAAATTC
CATCTTAACTTAAATTTTACTTGGAAATTAATTCTGTAAGATTGAGCGCTTGGTCCCAAG
GTAGAGGATGTGAAGAAGGCTGTAAATCCACTAGTGTTTCT
>84C2|Locus_14_Transcript_3/3_Confidence_0.571_Length_1248
AAACTAGTCAATAGAGAAAATCCAAAGTGGATGAAATTGAAGTGATTGTATGGCACAAGT
GGGAAGTATCAGCTAGCTCCAGAATGGATATGTGGTGCACATCTACCAATCTGTCTTTCT
CTCTCACCGCATAATTCTTACTTACACAACTATACCTCTACCGCCCTTTCCAGCAATTCT
CTCTCACTGCTCCACGGATCCTATTACTCTCCTGTTTTCATGACATAAACCATCGATAGT
TGCTTTCCATTTTCCACACGCAATGAGCCATTCGTTGCAACTGTAGTATTATTGTCCTAT
CTTCATATATATATATATATATATATATATATATATATCAGTCATGGCCTCCTTAATGCT
CAGTGGAGCCCAAAATCCAAAGCTCATCACTGGCTTAGCCTCAACTGCTGTTAACTTGAA
CGACAAGTGCTTTTTCAAGAAGGCTGTGCCGTCTCATGACAAGTTCAGGGTCAGAAAAAA
AATGACCCTCAGATGCAGCATCTCAGCCTCTAGGCCTGCTTCTCAGCCTAGGTTCATCCA
GCACAAGAAGGAGGCATTTTGGTTCTACAGGTTTCTGTCTATTGTGTATGATCATATAAT
AAATCCTGGCCACTGGACCGAAGACATGAGAGATGAGGCGCTGGAGCCTGCCGATCTCTA
CAGCCGTAACCTGAGGGTGGTGGATGTTGGAGGTGGAACTGGCTTCACAACTCTTGGAAT
AGTGAAGCGTGTGGATGCCAAAAACGTTACAATTCTTGACCAGTCACCCCACCAGCTTGC
CAAGGCTAAGAAGAAGGAGCCCCTCAAAGAATGCAAGATAATTGAGGGTGATGCAGAAGA
TCTTCCATTTCCAACTGATTATGCTGATAGATATATTTCTGCTGGAAGTATTGAATACTG
GCCAGACCCGCAGCGTGGCATTAAAGAAGCCTACAGAGTGCTAAGGATAGGGGGAAAAGC
TTGTGTTATTGGTCCAGTCCACCCAACATTTTGGTTGTCTCGGTTCTTCGCAGATGTCTG
GATGCTCTTCCCCAAGGAGGAAGAGTACATTGAATGGTTTAAAAAGGCTGGATTCAAAGA
TGTTGAGCTCAAAAGGATTGGTCCAAAATGGTATCGTGGGGTGCGTAGGCACGGTCTCAT
CATGGGTTGCTCAGTCACAGGAGTGAAGCCTTTTTCTGGAGACTCTCCTCTCACGCTTGG
TCCCAAGGTAGAGGATGTGAAGAAGGCTGTAAATCCACTAGTGTTTCT
>84C2|Locus_15_Transcript_1/9_Confidence_0.190_Length_757
ATTTGCTCGGAAAAACACTTCTCGTGGAACTTGTTAGCGCTGAGCTTGATCCCAAGACGA
AATTAGAGAAGAAAACCATCAAAGATTTTGCCCACAGGACGTATCGATTCACTCAGCTCA
TGCAGTAAACTAAGAACATAGAGAAGCAGAGAAAATGCAGATGCAACAAATTCATGCATC
AAATTCAAGCCCAAGCTATCTCATCCCTCACACGCCAAGCGTCCGTGGCATACCTCATCC
TTCTTTTCAGCTATGGTCAAGGCCATCATCGTTTCCAACCCAATGGAAGCTAAAAAGGGT
CAGCCATGGTTGCAGAAACGATGCCACCAAAATCAAAGCTGTGGCTGTCAACAAAACTCA
AAAGGCTGTCAAAGTTAAAGCCATCATAAGTGTTCAGCCAACGATTGGTGGGATTTTCTC
ATCATTGGCCATAGACGCCGATGATCTAACGGATTTGCTCGGAAAAACACTTCTCGTGGA
ACTTGTTAGCGCTGAGCTTGATCCCAGTACGTATGCCACAATCATCACTTTCTTTACTCA
ACTTTTACTTTTGGACAATGATATTTTAACACCATTTTTTTGACACTATTTTGACACTAC
ACACGTGTCAAGATGTGATTGGACGATTTCAAATTAAAAAAGTTGAGATAGGGGTATATT
TGGAAGAGAAAAACCAAAGTTTATTTTTTAATTTTAAATCGTCCAACCACATTTTGACAC
GTGTGCAGTGTCAAAATGGTGTCAAAAAATGGTGTTA
>84C2|Locus_15_Transcript_3/9_Confidence_0.286_Length_1489
ATTTGCTCGGAAAAACACTTCTCGTGGAACTTGTTAGCGCTGAGCTTGATCCCAAGACGA
AATTAGAGAAGAAAACCATCAAAGATTTTGCCCACAGGACGTATCGATTCACTCAGCTCA
TGCAGTAAACTAAGAACATAGAGAAGCAGAGAAAATGCAGATGCAACAAATTCATGCATC
AAATTCAAGCCCAAGCTATCTCATCCCTCACACGCCAAGCGTCCGTGGCATACCTCATCC
TTCTTTTCAGCTATGGTCAAGGCCATCATCGTTTCCAACCCAATGGAAGCTAAAAAGGGT
CAGCCATGGTTGCAGAAACGATGCCACCAAAATCAAAGCTGTGGCTGTCAACAAAACTCA
AAAGGCTGTCAAAGTTAAAGCCATCATAAGTGTTCAGCCAACGATTGGTGGGATTTTCTC
ATCATTGGCCATAGACGCCGATGATCTAACGGATTTGCTCGGAAAAACACTTCTCGTGGA
ACTTGTTAGCGCTGAGCTTGATCCCACAACGAAAGAAGTCAGGTATTTGGCCGAGTTTGA
TGTGCCAGAAGACTTTGGAGAGGTTGGTGCTATTTTGGTGGAGAACGAACATCGCAGGGA
AATGTTCGTGAAAGAAATCGTCCTCGATGGCTTCATATTGGGTCCCGTTAGATTTACCTG
CGAGTCATGGCTTCATCCCAAGAATGAAAACCCTGTCAAAAGAGTTTTTTTCCCCGACAA
GTCATATTTGCCATCAGAAACTCCAGAAGGAGTGAAGAGATTAAGAGAAGAAGAACTACA
ACATTTACGAGGGAATGGACAAGGTCAACGCAAGAAGTTTGACAGAATATACGATTACGA
TGTTTACAACGACCTCGGAGATGAAGATCGTGACCCTGAGCTCGCCAGACCGGTTCTTGG
TGGCCCAGAACATCCATATCCAAGGCGTTGCAGAACAGGAAGGCCTCGCTCCTTAAAAGA
TCCGTTGTCGGAGGAAAGAAGTAGAACAGTGTACGTGCCCAGAGACGAAAGCTTCTCCGA
AATAAAGCAATTAACGTTTAACACAAAGACGCTAGCTTCGGGATTGCAAGCGTTGGTACC
AGCTCTGACGGCACTGATCACTGACAAGGAGCAACCTTTTCACGTGTTCTCGGACATAGA
TTCTCTTTTCGACGAAGGAGTTAGCTTGCCTCCTGGAGAAGTCAAAATCAGCACTCTCTT
GCCCAGAATCGTCAATTTTATTAAGGAAAAAGGAGAGGACATTCTCCGTTTCGAGCCTCC
CGCAACAATGGACAGTAAGATCCATTTCCATTTCCATTTCCATCTTTATTCAGGTTACTA
CTTACTAATTCATCCTCATTCAAATGCCAGAGGATAGATTCTTTTGGTTGAGGGACGAAG
AATTTGGAAGACAGACTCTAGCGGGTCTTAACCCTTGTTGCATCAAGTTGGTCACGGAAT
GGCCATTGAAAAGCGAACTTGACCCGGAAATTTATGGCCCTCCCGAATC
>84C2|Locus_15_Transcript_4/9_Confidence_0.381_Length_1343
ATTTGCTCGGAAAAACACTTCTCGTGGAACTTGTTAGCGCTGAGCTTGATCCCAAGACGA
AATTAGAGAAGAAAACCATCAAAGATTTTGCCCACAGGACGTATCGATTCACTCAGCTCA
TGCAGTAAACTAAGAACATAGAGAAGCAGAGAAAATGCAGATGCAACAAATTCATGCATC
AAATTCAAGCCCAAGCTATCTCATCCCTCACACGCCAAGCGTCCGTGGCATACCTCATCC
TTCTTTTCAGCTATGGTCAAGGCCATCATCGTTTCCAACCCAATGGAAGCTAAAAAGGGT
CAGCCATGGTTGCAGAAACGATGCCACCAAAATCAAAGCTGTGGCTGTCAACAAAACTCA
AAAGGCTGTCAAAGTTAAAGCCATCATAAGTGTTCAGCCAACGATTGGTGGGATTTTCTC
ATCATTGGCCATAGACGCCGATGATCTAACGGATTTGCTCGGAAAAACACTTCTCGTGGA
ACTTGTTAGCGCTGAGCTTGATCCCAGTACGTATGCCACAATCATCACTTTCTTTACTCA
ACTTTTACTTTTGGACAATGATATTTTAACACCATTTTTTTGACACTATTTTGACACTAC
ACACGTGTCAAGATGTGATTGGACGATTTTAAATTAAAAAAGTTGAGGCAGGGATATATT
TGGAAGATAAAAACCAAAGTTTATTTTTTAATTTGAAATCGTTCAACCACATTTTGACAC
GTGTGCAGTGTCAAAATGGTGTCAAAAAATGGTGTTAAAATTTTATTTTCCTTTACTTTT
TATCAAACAACCTCTTCTTTTTAAGGACTAATTATGAATATAAGAAACCATTAACAATTT
TATATTTAAGTTATGCGTAAGATAGCTTTAATTTAATAATTTTAAAAATTAATTATGAAA
AAATCTCTTTCAACTTCATACTTTTTTGGATGGGTAATCCAACCAAACTAAAGGACAATG
GAAATTTCAGATTTTTTTAGCTAAAACCTCAAAGAACGAGAGGGACCACTTTGATTGGTG
AGTTTTTGTATTAATATTTGCAAAAATATAAAATTTAAATCCTTCTATATAGAAGATAAA
TTAATATTTTGGTGAAATATTTGAAAATTTGAACCAGGATGAAGATAAATAACATATTGT
AAGAAAAATGATGAACAATGATTTTATGTGGGGTAGATTCATTTTACACTTATCATCACA
TTTATTTATTTTTTAAAACCATTAGTTAAACCATTGTACACGTAAGTTGTAATATATTCA
AACATTTCATAATCACTAAATTTTTATATAAAATCTTAATAATTATTAGTAATTTTATAA
TAACATGAAAATTTAACGCAGAC
>84C2|Locus_15_Transcript_5/9_Confidence_0.333_Length_1841
ATTTGCTCGGAAAAACACTTCTCGTGGAACTTGTTAGCGCTGAGCTTGATCCCAAGACGA
AATTAGAGAAGAAAACCATCAAAGATTTTGCCCACAGGACGTATCGATTCACTCAGCTCA
TGCAGTAAACTAAGAACATAGAGAAGCAGAGAAAATGCAGATGCAACAAATTCATGCATC
AAATTCAAGCCCAAGCTATCTCATCCCTCACACGCCAAGCGTCCGTGGCATACCTCATCC
TTCTTTTCAGCTATGGTCAAGGCCATCATCGTTTCCAACCCAATGGAAGCTAAAAAGGGT
CAGCCATGGTTGCAGAAACGATGCCACCAAAATCAAAGCTGTGGCTGTCAACAAAACTCA
AAAGGCTGTCAAAGTTAAAGCCATCATAAGTGTTCAGCCAACGATTGGTGGGATTTTCTC
ATCATTGGCCATAGACGCCGATGATCTAACGGATTTGCTCGGAAAAACACTTCTCGTGGA
ACTTGTTAGCGCTGAGCTTGATCCCACAACGAAAGAAGTCAGGTATTTGGCCGAGTTTGA
TGTGCCAGAAGACTTTGGAGAGGTTGGTGCTATTTTGGTGGAGAACGAACATCGCAGGGA
AATGTTCGTGAAAGAAATCGTCCTCGATGGCTTCATATTGGGTCCCGTTAGATTTACCTG
CGAGTCATGGCTTCATCCCAAGAATGAAAACCCTGTCAAAAGAGTTTTTTTCCCCGACAA
GTCATATTTGCCATCAGAAACTCCAGAAGGAGTGAAGAGATTAAGAGAAGAAGAACTACA
ACATTTACGAGGGAATGGACAAGGTCAACGCAAGAAGTTTGACAGAATATACGATTACGA
TGTTTACAACGACCTCGGAGATGAAGATCGTGACCCTGAGCTCGCCAGACCGGTTCTTGG
TGGCCCAGAACATCCATATCCAAGGCGTTGCAGAACAGGAAGGCCTCGCTCCTTAAAAGA
TCCGTTGTCGGAGGAAAGAAGTAGAACAGTGTACGTGCCCAGAGACGAAAGCTTCTCCGA
AATAAAGCAATTAACGTTTAACACAAAGACGCTAGCTTCGGGATTGCAAGCGTTGGTACC
AGCTCTGACGGCACTGATCACTGACAAGGAGCAACCTTTTCACGTGTTCTCGGACATAGA
TTCTCTTTTCGACGAAGGAGTTAGCTTGCCTCCTGGAGAAGTCAAAATCAGCACTCTCTT
GCCCAGAATCGTCAATTTTATTAAGGAAAAAGGAGAGGACATTCTCCGTTTCGAGCCTCC
CGCAACAATGGACAAGGATAGATTCTTTTGGTTGAGGGACGAAGAATTTGGAAGACAGAC
TCTAGCGGGTCTTAACCCTTGTTGCATCAAGTTGGTCACGGTACGTACATTTTCTCCCTT
CTCCAGTACTCACAGTTTTATACCAACTAAATTTCTTTCTCATGTAGGAATGGCCATTGA
AAAGCGAACTTGACCCGGAAATTTATGGCCCTCCCGAATCAGCCATCACAACTGAACTAG
TTGAGCAGGAAATAAGAGGATATTTTCCACTCCAAGAGGCCTTAAAACAGAAGAAACTGT
TCATCCTGGACTACCACGACTTGCTATTGCCATTAGTGGAGCAAGTGAGAAAAATAGACG
GCACGACGCTATACGGATCAAGGGCATTGTTCTTCCTGACAGGCAGCGGCACTTTGAGAC
CACTGGCCATTGAGCTAGTTCGCCCACCCATGGATGGAAAACCTCAGTGGAAGAAAGTCT
TCAAACCCACCTGGCACTCAACCGGTGTCTGGCTTTGGAGGCTCGCCAAAATCCATGTCC
TAGCTCACGACACTGGTTACCACCAACTCATCAGTCACTGG

File2: only the sequence IDS

84C2_Locus_14_Transcript_1/3_Confidence_0.571_Length_1244
84C2_Locus_14_Transcript_2/3_Confidence_0.857_Length_1961
84C2_Locus_14_Transcript_3/3_Confidence_0.571_Length_1248
84C2_Locus_15_Transcript_1/9_Confidence_0.190_Length_757
84C2_Locus_15_Transcript_3/9_Confidence_0.286_Length_1489
84C2_Locus_15_Transcript_4/9_Confidence_0.381_Length_1343
84C2_Locus_15_Transcript_5/9_Confidence_0.333_Length_1841
84C2_Locus_15_Transcript_6/9_Confidence_0.286_Length_1529
84C2_Locus_15_Transcript_9/9_Confidence_0.333_Length_1774
84C2_Locus_17_Transcript_1/5_Confidence_0.556_Length_3398
84C2_Locus_17_Transcript_2/5_Confidence_0.556_Length_2961
84C2_Locus_17_Transcript_3/5_Confidence_0.556_Length_2452
84C2_Locus_17_Transcript_4/5_Confidence_0.444_Length_2697
84C2_Locus_17_Transcript_5/5_Confidence_0.444_Length_2123
84C2_Locus_18_Transcript_1/1_Confidence_1.000_Length_1680
84C2_Locus_19_Transcript_1/2_Confidence_0.909_Length_4229
84C2_Locus_19_Transcript_2/2_Confidence_0.909_Length_4111
84C2_Locus_20_Transcript_1/5_Confidence_0.444_Length_1694
84C2_Locus_20_Transcript_2/5_Confidence_0.333_Length_1509
84C2_Locus_21_Transcript_1/3_Confidence_0.750_Length_1292
84C2_Locus_21_Transcript_2/3_Confidence_0.500_Length_1407
84C2_Locus_21_Transcript_3/3_Confidence_0.500_Length_1131
84C2_Locus_22_Transcript_2/4_Confidence_0.500_Length_899
84C2_Locus_22_Transcript_3/4_Confidence_0.333_Length_1478
84C2_Locus_23_Transcript_2/2_Confidence_0.667_Length_1233
84C2_Locus_24_Transcript_1/10_Confidence_0.346_Length_1170
84C2_Locus_24_Transcript_3/10_Confidence_0.346_Length_1153
84C2_Locus_24_Transcript_4/10_Confidence_0.462_Length_1824
84C2_Locus_24_Transcript_5/10_Confidence_0.462_Length_1601
84C2_Locus_24_Transcript_6/10_Confidence_0.423_Length_1772
84C2_Locus_24_Transcript_7/10_Confidence_0.115_Length_1216
84C2_Locus_24_Transcript_8/10_Confidence_0.346_Length_2815
84C2_Locus_24_Transcript_10/10_Confidence_0.423_Length_1528
84C2_Locus_25_Transcript_2/2_Confidence_0.600_Length_1437
84C2_Locus_27_Transcript_1/1_Confidence_1.000_Length_1868
84C2_Locus_29_Transcript_2/6_Confidence_0.667_Length_1557
84C2_Locus_29_Transcript_3/6_Confidence_0.583_Length_1596
84C2_Locus_29_Transcript_4/6_Confidence_0.667_Length_2726
84C2_Locus_29_Transcript_6/6_Confidence_0.583_Length_1503
84C2_Locus_30_Transcript_1/1_Confidence_1.000_Length_1755
84C2_Locus_31_Transcript_1/1_Confidence_1.000_Length_1337
84C2_Locus_32_Transcript_2/11_Confidence_0.472_Length_2248
84C2_Locus_32_Transcript_3/11_Confidence_0.444_Length_2388
84C2_Locus_32_Transcript_4/11_Confidence_0.500_Length_2848
84C2_Locus_32_Transcript_6/11_Confidence_0.472_Length_2951
84C2_Locus_32_Transcript_9/11_Confidence_0.361_Length_1081
84C2_Locus_32_Transcript_11/11_Confidence_0.444_Length_2248
84C2_Locus_33_Transcript_5/5_Confidence_0.636_Length_1923
84C2_Locus_34_Transcript_2/37_Confidence_1.000_Length_381
84C2_Locus_34_Transcript_16/37_Confidence_1.000_Length_387

my output file should be contain the sequence associated with header. i.e. matching the sequence id file with original sequence file and store in another output file containing header with sequence.Just like this:

Original output file:

84C2|Locus_15_Transcript_5/9_Confidence_0.333_Length_1841
ATTTGCTCGGAAAAACACTTCTCGTGGAACTTGTTAGCGCTGAGCTTGATCCCAAGACGA
AATTAGAGAAGAAAACCATCAAAGATTTTGCCCACAGGACGTATCGATTCACTCAGCTCA
TGCAGTAAACTAAGAACATAGAGAAGCAGAGAAAATGCAGATGCAACAAATTCATGCATC
AAATTCAAGCCCAAGCTATCTCATCCCTCACACGCCAAGCGTCCGTGGCATACCTCATCC
TTCTTTTCAGCTATGGTCAAGGCCATCATCGTTTCCAACCCAATGGAAGCTAAAAAGGGT
CAGCCATGGTTGCAGAAACGATGCCACCAAAATCAAAGCTGTGGCTGTCAACAAAACTCA
AAAGGCTGTCAAAGTTAAAGCCATCATAAGTGTTCAGCCAACGATTGGTGGGATTTTCTC
ATCATTGGCCATAGACGCCGATGATCTAACGGATTTGCTCGGAAAAACACTTCTCGTGGA
ACTTGTTAGCGCTGAGCTTGATCCCACAACGAAAGAAGTCAGGTATTTGGCCGAGTTTGA
TGTGCCAGAAGACTTTGGAGAGGTTGGTGCTATTTTGGTGGAGAACGAACATCGCAGGGA
AATGTTCGTGAAAGAAATCGTCCTCGATGGCTTCATATTGGGTCCCGTTAGATTTACCTG
CGAGTCATGGCTTCATCCCAAGAATGAAAACCCTGTCAAAAGAGTTTTTTTCCCCGACAA
GTCATATTTGCCATCAGAAACTCCAGAAGGAGTGAAGAGATTAAGAGAAGAAGAACTACA
ACATTTACGAGGGAATGGACAAGGTCAACGCAAGAAGTTTGACAGAATATACGATTACGA
TGTTTACAACGACCTCGGAGATGAAGATCGTGACCCTGAGCTCGCCAGACCGGTTCTTGG
TGGCCCAGAACATCCATATCCAAGGCGTTGCAGAACAGGAAGGCCTCGCTCCTTAAAAGA
TCCGTTGTCGGAGGAAAGAAGTAGAACAGTGTACGTGCCCAGAGACGAAAGCTTCTCCGA
AATAAAGCAATTAACGTTTAACACAAAGACGCTAGCTTCGGGATTGCAAGCGTTGGTACC
AGCTCTGACGGCACTGATCACTGACAAGGAGCAACCTTTTCACGTGTTCTCGGACATAGA
TTCTCTTTTCGACGAAGGAGTTAGCTTGCCTCCTGGAGAAGTCAAAATCAGCACTCTCTT
GCCCAGAATCGTCAATTTTATTAAGGAAAAAGGAGAGGACATTCTCCGTTTCGAGCCTCC
CGCAACAATGGACAAGGATAGATTCTTTTGGTTGAGGGACGAAGAATTTGGAAGACAGAC
TCTAGCGGGTCTTAACCCTTGTTGCATCAAGTTGGTCACGGTACGTACATTTTCTCCCTT
CTCCAGTACTCACAGTTTTATACCAACTAAATTTCTTTCTCATGTAGGAATGGCCATTGA
AAAGCGAACTTGACCCGGAAATTTATGGCCCTCCCGAATCAGCCATCACAACTGAACTAG
TTGAGCAGGAAATAAGAGGATATTTTCCACTCCAAGAGGCCTTAAAACAGAAGAAACTGT
TCATCCTGGACTACCACGACTTGCTATTGCCATTAGTGGAGCAAGTGAGAAAAATAGACG
GCACGACGCTATACGGATCAAGGGCATTGTTCTTCCTGACAGGCAGCGGCACTTTGAGAC
CACTGGCCATTGAGCTAGTTCGCCCACCCATGGATGGAAAACCTCAGTGGAAGAAAGTCT
TCAAACCCACCTGGCACTCAACCGGTGTCTGGCTTTGGAGGCTCGCCAAAATCCATGTCC
TAGCTCACGACACTGGTTACCACCAACTCATCAGTCACTGG

Please suggest me the way in perl which is applicale for my problem.

vendredi 1 mai 2015

Which design pattern does the java currency class have

Which design pattern does the java currency class have http://ift.tt/1GDyJ8H

C++ Class Inheritance Design Choice

I want to know whether one of the following two class design choices is superior in terms of performance and/or maintainability or other concerns which would favor one approach over the other.

First approach:

The base class (parent) has a private data member and one pure virtual void function. The child class(childA) passes the parameter from it's default constructor to the parent and uses the parent's getter method to print out some other value.

Second approach:

The base class (oncle) consists only of the a virual destructor and a pure virtual method. The child class (nephew) has the stores the value as a private data member and has it's own getter function to perform some calculation.

Here is some code:

#include <iostream>

class parent{
public:
    parent(int x){ _x = x; }
    virtual ~parent(){}
    virtual void calc( void ) = 0;
    int getX( void ) { return _x; }
private:
    int _x;
};

class childA: public parent{
public:
    childA(int x): parent(x){}
    void calc( void ){std::cout << "x sq: " <<    parent::getX()*parent::getX()  << std::endl;}
};


class oncle{
public:
    virtual ~oncle(){}
    virtual void calc( void ) = 0; 
};

class nephewA: public oncle{
public:
    nephewA(int x): _x(x){}
    void calc( void ){std::cout << "x sq: " << getX()*getX() << std::endl;}
    int getX( void ){ return _x; }
private:
    int _x;
};

int main(int argc, char *argv[])
{

    parent *first = new childA(3);
    parent *second = new childB(3);

    first->calc();
    second->calc();

    oncle *foo = new nephewA(3);
    oncle *bar = new nephewB(3);
    foo->calc();
    bar->calc();


    delete bar;
    delete foo;
    delete second;
    delete first;

    return 0;
}

In short: the first approach puts the emphasis on the parent and the second on the child class.

So are there any quantifiable aspects which could help me select one of the two approaches?

How to use DTO classes

Good time!

I develop the Ideal project. I have some application design issues. It's difficult to me to understand how use DTO, DAL, BAL. For example I have 3 Business Entities: Order, Customer, Product (in SQL for about 10 tables).

Questions:

  1. What should I do with a lot of classes. There is a class generated by the ORM (EF) e.g DBOrder. There is a class (almost a copy) OrderDTO. Which contains only fields from DBOrder (perhaps even related fields but also DTO). There is a business class OrderModel (which pass from DAL to BAL).
  2. If I want to work with some fields of full object (Product), should I create new DTO class (e. g. I need only Id and Name)?
  3. The same question for Business Logic Object.

I see 3 classes for 1 object (ORM, DTO, BLO). Is it ok?

Please, tell me truth.

Discussion forum design: pattern-based and mobile-based

I would like to develop a small web-based and a mobile device-based discussion forum board. I'am collecting pattern for each of the following design process:

  1. Set of requirements (patterns of requirements ellicitation)
  2. User interface design (patterns of requirements user interface)
  3. Architecture design (patterns of Architecture design)
  4. Technological choices (patterns of Technological choices)
  5. Implementation (patterns of Implementation)
  6. Validation (patterns of sofware validation)
  7. Deployment (patterns of sofware Deployment)
  8. Evololution (patterns of sofware evololution)

Do you know any reference that could help me find 2 or 3 pattern for each steps? Thanks.

Data from Database Using MVP-VM Design Pattern

In my quest to understand MVP-VM design pattern in preparation for a new project which will be using DevExpress, I am unable to find an example with a database example.

Viewing DevExpress, I am unable to locate an example with this design pattern.

So, my question is this, does anyone who has experience of this design pattern, if you have experience of this with DevExpress even better, can give me an example of database connection, mapping data from a database (query/table) to model, and saving data to the database?

I appreciate this may sound rather an elementary question, but I do not know with this pattern what is the best practice for taking data from the view to persist to a database, and vice versa. Therefore, I do not wish to go off and doing incorrect.

Thanks

C++ CRTP based dataflow output class design simplification


Background information

I am working on a dataflow-like design pattern. The two classes presented below are meant to represent an output data dispatch mechanism. level1 is a CRTP base class. getOutput<N> in level1 is the function that can be used for getting the output data from an instance of a derived class. Depending on the template parameter N it calls one of the user defined getOutputImpl functions. These functions are meant to be provided in a (CRTP-style) derived class. Each of the getOutputImpl defines an output port associated with the user defined derived class. The input type of the getOutputImpl is defined by design. The output type of the getOutputImpl methods can vary. However, by design, the output type must have a structure std::unique_ptr<TOutputType>, where TOutputType can be any class. More background information can be found here: previous question.


Question

To allow for automatic recognition of the number of the user defined ports (i.e. getOutputImpl methods) a method getOutputPortsNumber(void) is provided in the base level1 class. This method is based around the idea that the return type of all user defined getOutputImpl functions is std::unique_ptr<TOutputType>. Thus, one can define an additional getOutputImpl method in the base class that does not have this return type (e.g. it has a void return type: void getOutputImpl(...)).

The methodology described above works if the void getOutputImpl(...) is defined within the user-defined derived class (DataflowOutputClass in this example) along with other user-defined std::unique_ptr<TOutputType> getOutputImpl(...) methods. However, when the additional void getOutputImpl(...) method is moved to the base level1 class, I get a compilation error: no matching function for call to 'DataflowOutputClass<int>::getOutputImpl(PortIdxType<2ul>, const PolyIndex&) const.


Code

typedef size_t Index;
typedef unsigned long Natural;
typedef std::vector<Index> PolyIndex;
typedef const PolyIndex& crPolyIndex;
template<Index N> struct PortIdxType{};

template<typename TLeafType>
class level1
{

public:

    TLeafType* asLeaf(void)
        {return static_cast<TLeafType*>(this);}

    TLeafType const* asLeaf(void) const
        {return static_cast<TLeafType const*>(this);}

    template <Index N>
    auto getOutput(crPolyIndex c_Idx) const
        {return asLeaf() -> getOutputImpl(PortIdxType<N>{}, c_Idx);}

    static constexpr Natural getOutputPortsNumber(void)
        {return getOutputPortsNumberImpl<0>();}

    template<Index N>
    static constexpr std::enable_if_t<
        std::is_void<
            decltype(
                std::declval<TLeafType*>() ->
                getOutput<N>(PolyIndex({}))
                )
        >::value,
            Index
            > getOutputPortsNumberImpl(void)
        {return N;}

    template<Index N>
    static constexpr std::enable_if_t<
        !std::is_void<
            decltype(
                std::declval<TLeafType*>() ->
                getOutput<N>(PolyIndex({}))
                )
        >::value,
            Index
            > getOutputPortsNumberImpl(void)
        {return getOutputPortsNumberImpl<N + 1>();}

    template<Index N>
    void getOutputImpl(
        PortIdxType<N>, crPolyIndex c_Idx
        ) const
        {throw std::runtime_error("Wrong template argument.");}


};

template<typename T>
class DataflowOutputClass:
    public level1<DataflowOutputClass<T>>
{
public:

    // if void getOutputImpl(...) const is moved here from level1,
    // then the code compiles and works correctly.

    //overload for when N = 0
    std::unique_ptr<double> getOutputImpl(
        PortIdxType<0>, crPolyIndex c_Idx
        ) const
    {
        std::unique_ptr<double> mydouble(new double(10));
        return mydouble;
    }

    //overload for when N = 1
    std::unique_ptr<int> getOutputImpl(
        PortIdxType<1>, crPolyIndex c_Idx
        ) const
    {
        std::unique_ptr<int> myint(new int(3));
        return myint;
    }

};


int main()
{
    DataflowOutputClass<int> a;
    std::cout << a.getOutputPortsNumber() << std::endl;
}