Am mai multe fișiere .fasta (care sunt numite cod de bare*_consensus.fasta) care arată astfel:
>>|>consensus_cl_id_1018_total_supporting_reads_12 LN:i:1369 RC:i:12 XC:f:1.000000
TCATTAACCACAAAAGTGGTGAGCGTTCTCCCGAAGGTTAAACTACCCACTTCTTTTGCAGCCAACTCCCATGGTGTGACGGG
|>consensus_cl_id_107_total_supporting_reads_6 LN:i:1440 RC:i:6 XC:f:1.000000
GACTTCAGCCCAGTCATTAGTCCTACCATGGACCCCCATATTACTAGAGGAGCTTCCGATATTACTAACTCCCATGCCGTGACGGGCG
|>consensus_cl_id_116_total_supporting_reads_5 LN:i:1314 RC:i:558 XC:f:1.000000
AGAACGAACGCTGGCGGCAGGCCTAACACATGCAAGTCGAGCGCTACCTTCGGGGGAGCGGCGGACGGGTTAGTAACGCGTGGGAATAT
Aș dori să dublez/repet la fiecare două rânduri de n număr de ori, așa cum este specificat după „total de citiri de sprijin”. Așa că, de exemplu, aș dori să dublez primele două rânduri de 12 ori, a doua rânduri de 6 ori etc.
Cu awk, am reușit să selectez fiecare linie care începe cu „>” și următoarea linie:
awk '/>/{nr[NR]; nr[NR+1]} NR in nr' cod de bare01_consens.fasta
Dar nu pot afla cum să printez acest număr de n ori cu o variabilă.
Orice ajutor este mult apreciat.
Actualizat:
Așa că aș dori ca fișierul final să arate ceva de genul:
|>consensus_cl_id_1018_total_supporting_reads_12 LN:i:1369 RC:i:12 XC:f:1.000000
TCATTAACCAACAAAGTGGTGAGCGTTCTCCCGAAGGTTAAACTACCCACTTCTTTT
|>consensus_cl_id_1018_total_supporting_reads_12 LN:i:1369 RC:i:12 XC:f:1.000000
TCATTAACCAACAAAGTGGTGAGCGTTCTCCCGAAGGTTAAACTACCCACTTCTTTT
|>consensus_cl_id_1018_total_supporting_reads_12 LN:i:1369 RC:i:12 XC:f:1.000000
TCATTAACCAACAAAGTGGTGAGCGTTCTCCCGAAGGTTAAACTACCCACTTCTTTT
....x de 12 ori....