aws-samples / aws-genomics-workflows
Duplication

Places in code with 6 or more lines that are exactly the same.

Intro
  • For duplication, we look at places in code where there are 6 or more lines of code that are exactly the same.
  • Before duplication is calculated, the code is cleaned to remove empty lines, comments, and frequently duplicated constructs such as imports.
  • You should aim at having as little as possible (<5%) of duplicated code as high-level of duplication can lead to maintenance difficulties, poor factoring, and logical contradictions.
Learn more...
Duplication Overall
  • 27% duplication:
    • 5,120 cleaned lines of cleaned code (without empty lines, comments, and frequently duplicated constructs such as imports)
    • 1,425 duplicated lines
  • 147 duplicates
system27% (1,425 lines)
Duplication per Extension
yaml32% (1,281 lines)
py24% (70 lines)
ts5% (42 lines)
yml23% (20 lines)
js100% (12 lines)
Duplication per Component (primary)
src/templates/gwfcore28% (439 lines)
src/templates/nextflow56% (311 lines)
src/templates/cromwell32% (304 lines)
src/templates/_common40% (162 lines)
src/lambda/ecr100% (70 lines)
src/templates/step-functions14% (65 lines)
src/aws-genomics-cdk/lib5% (42 lines)
src/containers60% (20 lines)
src/gwf-core-codepipeline100% (6 lines)
src/aws-genomics-cdk100% (6 lines)
src/gwf-core-codepipeline/lib0% (0 lines)
src/lambda/codebuild0% (0 lines)
src/scripts0% (0 lines)
ROOT0% (0 lines)

Duplication Between Components (50+ lines)

G src/templates/cromwell src/templates/cromwell src/templates/nextflow src/templates/nextflow src/templates/cromwell--src/templates/nextflow 256 src/templates/gwfcore src/templates/gwfcore src/templates/cromwell--src/templates/gwfcore 122 src/templates/step-functions src/templates/step-functions src/templates/nextflow--src/templates/step-functions 83 src/templates/gwfcore--src/templates/nextflow 201 src/templates/gwfcore--src/templates/step-functions 56 src/templates/_common src/templates/_common src/templates/_common--src/templates/gwfcore 172 src/lambda/ecr src/lambda/ecr src/lambda/ecr--src/templates/_common 140

Download: SVG DOT (open online Graphviz editor)

Open 3D force graph...

Show more details on duplication between components...
Longest Duplicates
The list of 20 longest duplicates.
See data for all 147 duplicates...
Size#FoldersFilesLinesCode
70 x 2 src/lambda/ecr
src/templates/_common
lambda.py
container-build.template.yaml
20:113 (100%)
367:460 (17%)
view
46 x 2 src/templates/_common
src/templates/gwfcore
container-build.template.yaml
gwfcore-code.template.yaml
201:248 (11%)
150:197 (11%)
view
43 x 2 src/templates/cromwell
src/templates/cromwell
cromwell-and-core.template.yaml
cromwell-resources.template.yaml
141:183 (14%)
120:167 (6%)
view
34 x 2 src/templates/_common
src/templates/gwfcore
container-build.template.yaml
gwfcore-code.template.yaml
97:131 (8%)
39:73 (8%)
view
24 x 2 src/templates/gwfcore
src/templates/gwfcore
gwfcore-batch.template.yaml
gwfcore-batch.template.yaml
157:180 (9%)
207:230 (9%)
view
20 x 2 src/templates/gwfcore
src/templates/nextflow
gwfcore-root.template.yaml
nextflow-and-core.template.yaml
98:117 (5%)
142:161 (6%)
view
17 x 2 src/templates/nextflow
src/templates/nextflow
nextflow-and-core.template.yaml
nextflow-resources.template.yaml
162:178 (5%)
53:71 (6%)
view
17 x 2 src/templates/gwfcore
src/templates/nextflow
gwfcore-root.template.yaml
nextflow-and-core.template.yaml
128:144 (4%)
191:209 (5%)
view
17 x 2 src/templates/cromwell
src/templates/nextflow
cromwell-and-core.template.yaml
nextflow-and-core.template.yaml
299:315 (5%)
287:303 (5%)
view
17 x 2 src/templates/cromwell
src/templates/nextflow
cromwell-and-core.template.yaml
nextflow-and-core.template.yaml
106:123 (5%)
107:125 (5%)
view
16 x 2 src/templates/nextflow
src/templates/step-functions
nextflow-resources.template.yaml
sfn-resources.template.yaml
113:128 (6%)
53:68 (9%)
view
14 x 2 src/templates/cromwell
src/templates/cromwell
cromwell-and-core.template.yaml
cromwell-resources.template.yaml
8:23 (4%)
5:19 (2%)
view
14 x 2 src/templates/nextflow
src/templates/nextflow
nextflow-and-core.template.yaml
nextflow-resources.template.yaml
8:23 (4%)
7:22 (5%)
view
14 x 2 src/templates/gwfcore
src/templates/gwfcore
gwfcore-launch-template.template.yaml
gwfcore-s3.template.yaml
7:21 (7%)
6:20 (20%)
view
13 x 2 src/templates/gwfcore
src/templates/gwfcore
gwfcore-iam.template.yaml
gwfcore-iam.template.yaml
36:48 (7%)
146:158 (7%)
view
13 x 2 src/templates/nextflow
src/templates/nextflow
nextflow-and-core.template.yaml
nextflow-resources.template.yaml
179:191 (4%)
82:95 (4%)
view
12 x 2 src/templates/cromwell
src/templates/cromwell
cromwell-and-core.template.yaml
cromwell-resources.template.yaml
74:85 (4%)
64:75 (1%)
view
11 x 2 src/templates/gwfcore
src/templates/gwfcore
gwfcore-efs.template.yaml
gwfcore-root.template.yaml
7:17 (11%)
70:80 (2%)
view
10 x 2 src/templates/gwfcore
src/templates/nextflow
gwfcore-iam.template.yaml
nextflow-resources.template.yaml
48:57 (5%)
212:222 (3%)
view
10 x 2 src/templates/gwfcore
src/templates/gwfcore
gwfcore-code.template.yaml
gwfcore-s3.template.yaml
27:36 (2%)
6:15 (14%)
view