Assembly correction tools: Polca, Pilon, and Medaka

gene_x 0 like s 572 view s

Tags: processing

1️⃣ Polca – A lightweight polishing tool from MaSuRCA that corrects small sequencing errors using short-read data. It efficiently fixes substitutions and small INDELs but is not ideal for large structural variations.

  1. # Under the env (nextclade)
  2. mamba install -c bioconda -c conda-forge masurca
  3. #-- VZV_20S.assembly3-modify.fasta --
  4. (nextclade) polca.sh -a ../viralngs/tmp/02_assembly/VZV_20S.assembly3-modify.fasta -r "VZV_20S_trimmed_P_1.fastq VZV_20S_trimmed_P_2.fastq" -t 40 -m 10G
  5. #3
  6. (nextclade) polca.sh -a VZV_20S.assembly3-modify.fasta.PolcaCorrected.fa -r "VZV_20S_trimmed_P_1.fastq VZV_20S_trimmed_P_2.fastq" -t 40 -m 10G
  7. #0

2️⃣ Pilon – A more comprehensive short-read polishing tool that corrects SNPs, small INDELs, and some structural misassemblies. It works best with high-coverage Illumina reads and can iteratively improve assembly accuracy.

  1. bwa index PCC1_VZV_20_2.assembly3-modify.fasta.PolcaCorrected.fa
  2. bwa mem -t 40 PCC1_VZV_20_2.assembly3-modify.fasta.PolcaCorrected.fa \
  3. PCC1_VZV_20_2_trimmed_P_1.fastq \
  4. PCC1_VZV_20_2_trimmed_P_2.fastq \
  5. > aln.sam
  6. samtools view -bS aln.sam > aln.bam
  7. samtools sort aln.bam aln.sorted
  8. samtools index aln.sorted.bam
  9. (nextclade) pilon --genome PCC1_VZV_20_2.assembly3-modify.fasta.PolcaCorrected.fa \
  10. --bam aln.sorted.bam --output polished --threads 80 --changes --fix indels

3️⃣ Medaka – A polishing tool specifically designed for Nanopore sequencing data. It uses a neural network to refine base calls and correct systematic errors in long-read assemblies.

  1. Quality check using QUAST

    1. #mamba install -c bioconda quast
    2. #quast polished.fasta -r reference.fasta -o quast_output
  2. Correcting assembly for Huang_Human_herpesvirus_3

    1. ./VZV_20S.fasta
    2. ./VZV_20c.fasta
    3. ./PCC1_VZV_20_1.fasta
    4. ./PCC1_VZV_20_2.fasta
    5. ./PCC1_VZV_20_5.fasta
    6. ./VZV_60S.fasta
    7. ./VZV_60c.fasta
    8. ./PCC1_VZV_60_1.fasta
    9. ./PCC1_VZV_60_4.fasta
    10. ./PCC1_VZV_60_6.fasta
    11. #find . -nma "*.assembly1-spades.fasta" | wc -l
    12. #find . -name "*.assembly2-gapfilled.fasta" | wc -l
    13. #find . -name "*.assembly3-modify.fasta" | wc -l
    14. #find . -name "*.assembly4-refined.fasta" | wc -l
    15. # Under the env (nextclade) and directory ~/DATA/Data_Huang_Human_herpesvirus_3/trimmed
    16. mamba install -c bioconda -c conda-forge masurca
    17. #-- VZV_20S.assembly3-modify.fasta --
    18. (nextclade) polca.sh -a ../viralngs/tmp/02_assembly/VZV_20S.assembly3-modify.fasta -r "VZV_20S_trimmed_P_1.fastq VZV_20S_trimmed_P_2.fastq" -t 40 -m 10G
    19. #Stats BEFORE polishing:
    20. #Substitution Errors Found: 3
    21. #Insertion/Deletion Errors Found: 0
    22. #Assembly Size: 124870
    23. #Consensus Quality Before Polishing: 99.9976
    24. #Consensus QV Before Polishing: 46.19
    25. (nextclade) polca.sh -a VZV_20S.assembly3-modify.fasta.PolcaCorrected.fa -r "VZV_20S_trimmed_P_1.fastq VZV_20S_trimmed_P_2.fastq" -t 40 -m 10G
    26. #Stats BEFORE polishing:
    27. #Substitution Errors Found: 0
    28. #Insertion/Deletion Errors Found: 0
    29. #Assembly Size: 124869
    30. #Consensus Quality Before Polishing: 100
    31. #Consensus QV Before Polishing: 100.00
    32. #-- VZV_20c.assembly3-modify.fasta --
    33. polca.sh -a ../viralngs/tmp/02_assembly/VZV_20c.assembly3-modify.fasta -r "VZV_20c_trimmed_P_1.fastq VZV_20c_trimmed_P_2.fastq" -t 40 -m 10G
    34. #Stats BEFORE polishing:
    35. #Substitution Errors Found: 2
    36. #Insertion/Deletion Errors Found: 2
    37. #Assembly Size: 124872
    38. #Consensus Quality Before Polishing: 99.9968
    39. #Consensus QV Before Polishing: 44.94
    40. polca.sh -a VZV_20c.assembly3-modify.fasta.PolcaCorrected.fa -r "VZV_20c_trimmed_P_1.fastq VZV_20c_trimmed_P_2.fastq" -t 40 -m 10G
    41. #Stats BEFORE polishing:
    42. #Substitution Errors Found: 0
    43. #Insertion/Deletion Errors Found: 0
    44. #Assembly Size: 124873
    45. #Consensus Quality Before Polishing: 100
    46. #Consensus QV Before Polishing: 100.00
    47. #-- PCC1_VZV_20_1.assembly3-modify.fasta --
    48. polca.sh -a ../viralngs/tmp/02_assembly/PCC1_VZV_20_1.assembly3-modify.fasta -r "PCC1_VZV_20_1_trimmed_P_1.fastq PCC1_VZV_20_1_trimmed_P_2.fastq" -t 40 -m 10G
    49. #Stats BEFORE polishing:
    50. #Substitution Errors Found: 1
    51. #Insertion/Deletion Errors Found: 1
    52. #Assembly Size: 124873
    53. #Consensus Quality Before Polishing: 99.9984
    54. #Consensus QV Before Polishing: 47.95
    55. polca.sh -a PCC1_VZV_20_1.assembly3-modify.fasta.PolcaCorrected.fa -r "PCC1_VZV_20_1_trimmed_P_1.fastq PCC1_VZV_20_1_trimmed_P_2.fastq" -t 40 -m 10G
    56. #Stats BEFORE polishing:
    57. #Substitution Errors Found: 1
    58. #Insertion/Deletion Errors Found: 0
    59. #Assembly Size: 124873
    60. #Consensus Quality Before Polishing: 99.9992
    61. #Consensus QV Before Polishing: 50.96
    62. polca.sh -a PCC1_VZV_20_1.assembly3-modify.fasta.PolcaCorrected.fa.PolcaCorrected.fa -r "PCC1_VZV_20_1_trimmed_P_1.fastq PCC1_VZV_20_1_trimmed_P_2.fastq" -t 40 -m 10G
    63. #Stats BEFORE polishing:
    64. #Substitution Errors Found: 0
    65. #Insertion/Deletion Errors Found: 0
    66. #Assembly Size: 124873
    67. #Consensus Quality Before Polishing: 100
    68. #Consensus QV Before Polishing: 100.00
    69. #-- PCC1_VZV_20_2.assembly3-modify.fasta --
    70. polca.sh -a ../viralngs/tmp/02_assembly/PCC1_VZV_20_2.assembly2-gapfilled.fasta -r "PCC1_VZV_20_2_trimmed_P_1.fastq PCC1_VZV_20_2_trimmed_P_2.fastq" -t 40 -m 10G
    71. #Stats BEFORE polishing:
    72. #Substitution Errors Found: 1
    73. #Insertion/Deletion Errors Found: 1
    74. #Assembly Size: 124866
    75. #Consensus Quality Before Polishing: 99.9984
    76. #Consensus QV Before Polishing: 47.95
    77. polca.sh -a PCC1_VZV_20_2.assembly2-gapfilled.fasta.PolcaCorrected.fa -r "PCC1_VZV_20_2_trimmed_P_1.fastq PCC1_VZV_20_2_trimmed_P_2.fastq" -t 40 -m 10G
    78. #Stats BEFORE polishing:
    79. #Substitution Errors Found: 0
    80. #Insertion/Deletion Errors Found: 0
    81. #Assembly Size: 124867
    82. #Consensus Quality Before Polishing: 100
    83. #Consensus QV Before Polishing: 100.00
    84. #-- PCC1_VZV_20_5.assembly3-modify.fasta --
    85. polca.sh -a ../viralngs/tmp/02_assembly/PCC1_VZV_20_5.assembly3-modify.fasta -r "PCC1_VZV_20_5_trimmed_P_1.fastq PCC1_VZV_20_5_trimmed_P_2.fastq" -t 40 -m 10G
    86. #Stats BEFORE polishing:
    87. #Substitution Errors Found: 1
    88. #Insertion/Deletion Errors Found: 0
    89. #Assembly Size: 124873
    90. #Consensus Quality Before Polishing: 99.9992
    91. #Consensus QV Before Polishing: 50.96
    92. polca.sh -a PCC1_VZV_20_5.assembly3-modify.fasta.PolcaCorrected.fa -r "PCC1_VZV_20_5_trimmed_P_1.fastq PCC1_VZV_20_5_trimmed_P_2.fastq" -t 40 -m 10G
    93. #Stats BEFORE polishing:
    94. #Substitution Errors Found: 0
    95. #Insertion/Deletion Errors Found: 0
    96. #Assembly Size: 124874
    97. #Consensus Quality Before Polishing: 100
    98. #Consensus QV Before Polishing: 100.00
    99. #-- VZV_60S.assembly3-modify.fasta --
    100. polca.sh -a ../viralngs/tmp/02_assembly/VZV_60S.assembly3-modify.fasta -r "VZV_60S_trimmed_P_1.fastq VZV_60S_trimmed_P_2.fastq" -t 40 -m 10G
    101. #Stats BEFORE polishing:
    102. #Substitution Errors Found: 2
    103. #Insertion/Deletion Errors Found: 0
    104. #Assembly Size: 124873
    105. #Consensus Quality Before Polishing: 99.9984
    106. #Consensus QV Before Polishing: 47.95
    107. polca.sh -a VZV_60S.assembly3-modify.fasta.PolcaCorrected.fa -r "VZV_60S_trimmed_P_1.fastq VZV_60S_trimmed_P_2.fastq" -t 40 -m 10G
    108. #Stats BEFORE polishing:
    109. #Substitution Errors Found: 1
    110. #Insertion/Deletion Errors Found: 0
    111. #Assembly Size: 124870
    112. #Consensus Quality Before Polishing: 99.9992
    113. #Consensus QV Before Polishing: 50.96
    114. polca.sh -a VZV_60S.assembly3-modify.fasta.PolcaCorrected.fa.PolcaCorrected.fa -r "VZV_60S_trimmed_P_1.fastq VZV_60S_trimmed_P_2.fastq" -t 40 -m 10G
    115. #Stats BEFORE polishing:
    116. #Substitution Errors Found: 0
    117. #Insertion/Deletion Errors Found: 0
    118. #Assembly Size: 124870
    119. #Consensus Quality Before Polishing: 100
    120. #Consensus QV Before Polishing: 100.00
    121. #-- VZV_60c.assembly2-gapfilled.fasta --
    122. polca.sh -a ../viralngs/tmp/02_assembly/VZV_60c.assembly2-gapfilled.fasta -r "VZV_60c_trimmed_P_1.fastq VZV_60c_trimmed_P_2.fastq" -t 40 -m 10G
    123. #Stats BEFORE polishing:
    124. #Substitution Errors Found: 1
    125. #Insertion/Deletion Errors Found: 0
    126. #Assembly Size: 119660
    127. #Consensus Quality Before Polishing: 99.9992
    128. #Consensus QV Before Polishing: 50.78
    129. polca.sh -a VZV_60c.assembly2-gapfilled.fasta.PolcaCorrected.fa -r "VZV_60c_trimmed_P_1.fastq VZV_60c_trimmed_P_2.fastq" -t 40 -m 10G
    130. #Stats BEFORE polishing:
    131. #Substitution Errors Found: 0
    132. #Insertion/Deletion Errors Found: 0
    133. #Assembly Size: 119660
    134. #Consensus Quality Before Polishing: 100
    135. #Consensus QV Before Polishing: 100.00
    136. #-- PCC1_VZV_60_1.assembly3-modify.fasta --
    137. polca.sh -a ../viralngs/tmp/02_assembly/PCC1_VZV_60_1.assembly3-modify.fasta -r "PCC1_VZV_60_1_trimmed_P_1.fastq PCC1_VZV_60_1_trimmed_P_2.fastq" -t 40 -m 10G
    138. #Stats BEFORE polishing:
    139. #Substitution Errors Found: 0
    140. #Insertion/Deletion Errors Found: 0
    141. #Assembly Size: 124843
    142. #Consensus Quality Before Polishing: 100
    143. #Consensus QV Before Polishing: 100.00
    144. polca.sh -a PCC1_VZV_60_1.assembly3-modify.fasta.PolcaCorrected.fa -r "PCC1_VZV_60_1_trimmed_P_1.fastq PCC1_VZV_60_1_trimmed_P_2.fastq" -t 40 -m 10G
    145. #Stats BEFORE polishing:
    146. #Substitution Errors Found: 1
    147. #Insertion/Deletion Errors Found: 0
    148. #Assembly Size: 124839
    149. #Consensus Quality Before Polishing: 99.9992
    150. #Consensus QV Before Polishing: 50.96
    151. polca.sh -a PCC1_VZV_60_1.assembly3-modify.fasta.PolcaCorrected.fa.PolcaCorrected.fa -r "PCC1_VZV_60_1_trimmed_P_1.fastq PCC1_VZV_60_1_trimmed_P_2.fastq" -t 40 -m 10G
    152. #Stats BEFORE polishing:
    153. #Substitution Errors Found: 0
    154. #Insertion/Deletion Errors Found: 0
    155. #Assembly Size: 124839
    156. #Consensus Quality Before Polishing: 100
    157. #Consensus QV Before Polishing: 100.00
    158. #-- PCC1_VZV_60_4.assembly3-modify.fasta --
    159. polca.sh -a ../viralngs/tmp/02_assembly/PCC1_VZV_60_4.assembly3-modify.fasta -r "PCC1_VZV_60_4_trimmed_P_1.fastq PCC1_VZV_60_4_trimmed_P_2.fastq" -t 40 -m 10G
    160. #Stats BEFORE polishing:
    161. #Substitution Errors Found: 1
    162. #Insertion/Deletion Errors Found: 0
    163. #Assembly Size: 124851
    164. #Consensus Quality Before Polishing: 99.9992
    165. #Consensus QV Before Polishing: 50.96
    166. polca.sh -a PCC1_VZV_60_4.assembly3-modify.fasta.PolcaCorrected.fa -r "PCC1_VZV_60_4_trimmed_P_1.fastq PCC1_VZV_60_4_trimmed_P_2.fastq" -t 40 -m 10G
    167. #Stats BEFORE polishing:
    168. #Substitution Errors Found: 0
    169. #Insertion/Deletion Errors Found: 0
    170. #Assembly Size: 124851
    171. #Consensus Quality Before Polishing: 100
    172. #Consensus QV Before Polishing: 100.00
    173. #-- PCC1_VZV_60_6.assembly3-modify.fasta --
    174. polca.sh -a ../viralngs/tmp/02_assembly/PCC1_VZV_60_6.assembly3-modify.fasta -r "PCC1_VZV_60_6_trimmed_P_1.fastq PCC1_VZV_60_6_trimmed_P_2.fastq" -t 40 -m 10G
    175. #Stats BEFORE polishing:
    176. #Substitution Errors Found: 3
    177. #Insertion/Deletion Errors Found: 0
    178. #Assembly Size: 124873
    179. #Consensus Quality Before Polishing: 99.9976
    180. #Consensus QV Before Polishing: 46.19
    181. polca.sh -a PCC1_VZV_60_6.assembly3-modify.fasta.PolcaCorrected.fa -r "PCC1_VZV_60_6_trimmed_P_1.fastq PCC1_VZV_60_6_trimmed_P_2.fastq" -t 40 -m 10G
    182. #Stats BEFORE polishing:
    183. #Substitution Errors Found: 0
    184. #Insertion/Deletion Errors Found: 0
    185. #Assembly Size: 124871
    186. #Consensus Quality Before Polishing: 100
    187. #Consensus QV Before Polishing: 100.00
  3. Multiple alignment of all corrected assembly

    1. cat ./20S_polished/VZV_20S.assembly3-modify.fasta.PolcaCorrected.fa.PolcaCorrected.fa ./20c_polished/VZV_20c.assembly3-modify.fasta.PolcaCorrected.fa.PolcaCorrected.fa ./20_1_polished/PCC1_VZV_20_1.assembly3-modify.fasta.PolcaCorrected.fa.PolcaCorrected.fa.PolcaCorrected.fa ./20_2_polished/PCC1_VZV_20_2.assembly2-gapfilled.fasta.PolcaCorrected.fa.PolcaCorrected.fa ./20_5_polished/PCC1_VZV_20_5.assembly3-modify.fasta.PolcaCorrected.fa.PolcaCorrected.fa > 20.fasta
    2. cat ./60S_polished/VZV_60S.assembly3-modify.fasta.PolcaCorrected.fa.PolcaCorrected.fa.PolcaCorrected.fa ./60c_polished/VZV_60c.assembly2-gapfilled.fasta.PolcaCorrected.fa.PolcaCorrected.fa ./60_1_polished/PCC1_VZV_60_1.assembly3-modify.fasta.PolcaCorrected.fa.PolcaCorrected.fa.PolcaCorrected.fa ./60_4_polished/PCC1_VZV_60_4.assembly3-modify.fasta.PolcaCorrected.fa.PolcaCorrected.fa ./60_6_polished/PCC1_VZV_60_6.assembly3-modify.fasta.PolcaCorrected.fa.PolcaCorrected.fa > 60.fasta
    3. mafft --clustalout 20.fasta > 20.aln
    4. mafft --clustalout 60.fasta > 60.aln
    5. grep "NC_001348.1_con" 20.aln > PCC1_VZV_20_2-1.fasta
    6. seqtk seq PCC1_VZV_20_2-1.fasta -l 60 > PCC1_VZV_20_2.fasta
    7. polca.sh -a PCC1_VZV_20_2.fasta -r "PCC1_VZV_20_2_trimmed_P_1.fastq PCC1_VZV_20_2_trimmed_P_2.fastq" -t 40 -m 10G
    8. #Stats BEFORE polishing:
    9. #Substitution Errors Found: 0
    10. #Insertion/Deletion Errors Found: 0
    11. #Assembly Size: 124866
    12. #Consensus Quality Before Polishing: 100
    13. #Consensus QV Before Polishing: 100.00
    14. cat ./20S_polished/VZV_20S.assembly3-modify.fasta.PolcaCorrected.fa.PolcaCorrected.fa ./20c_polished/VZV_20c.assembly3-modify.fasta.PolcaCorrected.fa.PolcaCorrected.fa ./20_1_polished/PCC1_VZV_20_1.assembly3-modify.fasta.PolcaCorrected.fa.PolcaCorrected.fa.PolcaCorrected.fa ./PCC1_VZV_20_2.fasta.PolcaCorrected.fa ./20_5_polished/PCC1_VZV_20_5.assembly3-modify.fasta.PolcaCorrected.fa.PolcaCorrected.fa > 20_round2.fasta
    15. mafft --clustalout 20_round2.fasta > 20_round2.aln #--leavegappyregion
    16. #(Optional) Delete "-1", set 2 positions of the lines "************"
    17. python check_SNP_positions.py
    18. grep "NC_001348.1_con" 60.aln > VZV_60c-1.fasta
    19. seqtk seq VZV_60c-1.fasta -l 60 > VZV_60c.fasta
    20. polca.sh -a VZV_60c.fasta -r "VZV_60c_trimmed_P_1.fastq VZV_60c_trimmed_P_2.fastq" -t 40 -m 10G
    21. #Stats BEFORE polishing:
    22. #Substitution Errors Found: 0
    23. #Insertion/Deletion Errors Found: 0
    24. #Assembly Size: 119660
    25. #Consensus Quality Before Polishing: 100
    26. #Consensus QV Before Polishing: 100.00
    27. cat ./60S_polished/VZV_60S.assembly3-modify.fasta.PolcaCorrected.fa.PolcaCorrected.fa.PolcaCorrected.fa VZV_60c.fasta.PolcaCorrected.fa ./60_1_polished/PCC1_VZV_60_1.assembly3-modify.fasta.PolcaCorrected.fa.PolcaCorrected.fa.PolcaCorrected.fa ./60_4_polished/PCC1_VZV_60_4.assembly3-modify.fasta.PolcaCorrected.fa.PolcaCorrected.fa ./60_6_polished/PCC1_VZV_60_6.assembly3-modify.fasta.PolcaCorrected.fa.PolcaCorrected.fa > 60_round2.fasta
    28. mafft --clustalout 60_round2.fasta > 60_round2.aln
    29. muscle -in 20_round2.fasta -out 20_round2.aln -clw
    30. #(Optional) Delete "-1", set 2 positions of the lines "************"
    31. python check_SNP_positions.py
    32. grep "VZV_60c-1" 60_round2.aln > VZV_60c-2.fasta
    33. seqtk seq VZV_60c-2.fasta -l 60 > VZV_60c-3.fasta
    34. polca.sh -a VZV_60c-3.fasta -r "VZV_60c_trimmed_P_1.fastq VZV_60c_trimmed_P_2.fastq" -t 40 -m 10G
    35. #Stats BEFORE polishing:
    36. #Substitution Errors Found: 0
    37. #Insertion/Deletion Errors Found: 0
    38. #Assembly Size: 119660
    39. #Consensus Quality Before Polishing: 100
    40. #Consensus QV Before Polishing: 100.00
    41. polca.sh -a VZV_60c-3.fasta.PolcaCorrected.fa -r "VZV_60c_trimmed_P_1.fastq VZV_60c_trimmed_P_2.fastq" -t 40 -m 10G
    42. #Stats BEFORE polishing:
    43. #Substitution Errors Found: 0
    44. #Insertion/Deletion Errors Found: 0
    45. #Assembly Size: 124896
    46. #Consensus Quality Before Polishing: 100
    47. #Consensus QV Before Polishing: 100.00
    48. cat ./60S_polished/VZV_60S.assembly3-modify.fasta.PolcaCorrected.fa.PolcaCorrected.fa.PolcaCorrected.fa VZV_60c-3.fasta.PolcaCorrected.fa.PolcaCorrected.fa ./60_1_polished/PCC1_VZV_60_1.assembly3-modify.fasta.PolcaCorrected.fa.PolcaCorrected.fa.PolcaCorrected.fa ./60_4_polished/PCC1_VZV_60_4.assembly3-modify.fasta.PolcaCorrected.fa.PolcaCorrected.fa ./60_6_polished/PCC1_VZV_60_6.assembly3-modify.fasta.PolcaCorrected.fa.PolcaCorrected.fa > 60_round3.fasta
    49. mafft --auto --op 3 --ep 0.1 --clustalout 60_round3.fasta > 60_round3.aln #--leavegappyregion
    50. ulimit -s unlimited
    51. muscle -in 60_round3.fasta -out 60_round3.aln -clw -maxiters 2
    52. mamba install -c bioconda clustalo
    53. clustalo -i 60_round3.fasta -o output.fasta --auto
    54. mamba install -c bioconda t-coffee
    55. t_coffee -seq input.fasta -outfile output.fasta
    56. #(Optional) Delete "-1", set 2 positions of the lines "************"
    57. python check_SNP_positions.py
    58. 1. Try a Different MAFFT Mode
    59. The default mode (--auto) may favor gaps too much. Use --globalpair or --localpair instead.
    60. Command:
    61. mafft --globalpair --maxiterate 1000 input.fasta > output.fasta
    62. or
    63. mafft --localpair --maxiterate 1000 input.fasta > output.fasta
    64. --globalpair: More accurate for closely related sequences.
    65. --localpair: Better if your sequences have recombination or partial homology.
    66. 2. Increase Gap Open Penalty (--op)
    67. The default gap opening penalty is low, leading to excessive gaps.
    68. Try increasing it:
    69. mafft --auto --op 3 input.fasta > output.fasta
    70. Default is 1.53; higher values reduce gaps.
    71. 3. Reduce Gap Extension Penalty (--ep)
    72. MAFFT extends gaps too easily. Lowering --ep discourages long gaps.
    73. mafft --auto --op 3 --ep 0.1 input.fasta > output.fasta
    74. cp ./20S_polished/VZV_20S.assembly3-modify.fasta.PolcaCorrected.fa.PolcaCorrected.fa toSend
    75. cp ./20c_polished/VZV_20c.assembly3-modify.fasta.PolcaCorrected.fa.PolcaCorrected.fa toSend
    76. cp ./20_1_polished/PCC1_VZV_20_1.assembly3-modify.fasta.PolcaCorrected.fa.PolcaCorrected.fa.PolcaCorrected.fa toSend
    77. cp ./PCC1_VZV_20_2.fasta.PolcaCorrected.fa toSend
    78. cp ./20_5_polished/PCC1_VZV_20_5.assembly3-modify.fasta.PolcaCorrected.fa.PolcaCorrected.fa toSend
    79. cp ./60S_polished/VZV_60S.assembly3-modify.fasta.PolcaCorrected.fa.PolcaCorrected.fa.PolcaCorrected.fa toSend
    80. cp VZV_60c-3.fasta.PolcaCorrected.fa.PolcaCorrected.fa toSend
    81. cp ./60_1_polished/PCC1_VZV_60_1.assembly3-modify.fasta.PolcaCorrected.fa.PolcaCorrected.fa.PolcaCorrected.fa toSend
    82. cp ./60_4_polished/PCC1_VZV_60_4.assembly3-modify.fasta.PolcaCorrected.fa.PolcaCorrected.fa toSend
    83. cp ./60_6_polished/PCC1_VZV_60_6.assembly3-modify.fasta.PolcaCorrected.fa.PolcaCorrected.fa toSend

like unlike

点赞本文的读者

还没有人对此文章表态


本文有评论

没有评论

看文章,发评论,不要沉默


© 2023 XGenes.com Impressum