Skip to content

Commit 9d221d5

Browse files
committed
move all filesystem information into filesystem project
1 parent 3e84eeb commit 9d221d5

13 files changed

+86
-322
lines changed

src/ARCtrl/ARCtrl.fsproj

-2
Original file line numberDiff line numberDiff line change
@@ -18,8 +18,6 @@
1818
<None Include="../../build/logo.png" Pack="true" PackagePath="\" />
1919
</ItemGroup>
2020
<ItemGroup>
21-
<Compile Include="Path.fs" />
22-
<Compile Include="FileSystemTree.fs" />
2321
<Compile Include="SemVer.fs" />
2422
<Compile Include="WebRequest\WebRequest.Node.fs" />
2523
<Compile Include="WebRequest\WebRequest.Py.fs" />

src/ARCtrl/FileSystemTree.fs

-55
This file was deleted.

src/ARCtrl/Path.fs

-43
This file was deleted.

src/CWL/ARCtrl.CWL.fsproj

-1
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@
66
</PropertyGroup>
77
<ItemGroup>
88
<None Include="../../build/logo.png" Pack="true" PackagePath="\" />
9-
<Compile Include="Path.fs" />
109
<Compile Include="Library.fs" />
1110
</ItemGroup>
1211
<ItemGroup>

src/CWL/Path.fs

-8
This file was deleted.

src/FileSystem/FileSystemTree.fs

+54-1
Original file line numberDiff line numberDiff line change
@@ -181,4 +181,57 @@ type FileSystemTree =
181181
| Folder(name,children) ->
182182
Folder (name, children |> Array.map (fun c -> c.Copy()))
183183
| File(name) ->
184-
File name
184+
File name
185+
186+
187+
188+
189+
static member createGitKeepFile() =
190+
FileSystemTree.createFile ARCtrl.Path.GitKeepFileName
191+
192+
static member createReadmeFile() =
193+
FileSystemTree.createFile ARCtrl.Path.READMEFileName
194+
195+
static member createEmptyFolder (name : string) =
196+
FileSystemTree.createFolder(name, [|FileSystemTree.createGitKeepFile()|])
197+
198+
static member createAssayFolder(assayName : string) =
199+
let dataset = FileSystemTree.createEmptyFolder ARCtrl.Path.AssayDatasetFolderName
200+
let protocols = FileSystemTree.createEmptyFolder ARCtrl.Path.AssayProtocolsFolderName
201+
let readme = FileSystemTree.createReadmeFile()
202+
let assayFile = FileSystemTree.createFile ARCtrl.Path.AssayFileName
203+
FileSystemTree.createFolder(assayName, [|dataset; protocols; assayFile; readme|])
204+
205+
static member createStudyFolder(studyName : string) =
206+
let resources = FileSystemTree.createEmptyFolder ARCtrl.Path.StudiesResourcesFolderName
207+
let protocols = FileSystemTree.createEmptyFolder ARCtrl.Path.StudiesProtocolsFolderName
208+
let readme = FileSystemTree.createReadmeFile()
209+
let studyFile = FileSystemTree.createFile ARCtrl.Path.StudyFileName
210+
FileSystemTree.createFolder(studyName, [|resources; protocols; studyFile; readme|])
211+
212+
static member createInvestigationFile() =
213+
FileSystemTree.createFile ARCtrl.Path.InvestigationFileName
214+
215+
static member createAssaysFolder(assays : FileSystemTree array) =
216+
FileSystemTree.createFolder(
217+
ARCtrl.Path.AssaysFolderName,
218+
Array.append [|FileSystemTree.createGitKeepFile()|] assays
219+
)
220+
221+
static member createStudiesFolder(studies : FileSystemTree array) =
222+
FileSystemTree.createFolder(
223+
ARCtrl.Path.StudiesFolderName,
224+
Array.append [|FileSystemTree.createGitKeepFile()|] studies
225+
)
226+
227+
static member createWorkflowsFolder(workflows : FileSystemTree array) =
228+
FileSystemTree.createFolder(
229+
ARCtrl.Path.WorkflowsFolderName,
230+
Array.append [|FileSystemTree.createGitKeepFile()|] workflows
231+
)
232+
233+
static member createRunsFolder(runs : FileSystemTree array) =
234+
FileSystemTree.createFolder(
235+
ARCtrl.Path.RunsFolderName,
236+
Array.append [|FileSystemTree.createGitKeepFile()|] runs
237+
)

src/FileSystem/Path.fs

+31-1
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,29 @@ let [<Literal>] PathSeperator = '/'
66
let [<Literal>] PathSeperatorWindows = '\\'
77
let seperators = [|PathSeperator; PathSeperatorWindows|]
88

9+
10+
11+
// Files
12+
let [<Literal>] AssayFileName = "isa.assay.xlsx"
13+
let [<Literal>] StudyFileName = "isa.study.xlsx"
14+
let [<Literal>] InvestigationFileName = "isa.investigation.xlsx"
15+
let [<Literal>] GitKeepFileName = ".gitkeep"
16+
let [<Literal>] READMEFileName = "README.md"
17+
18+
// Folder
19+
let [<Literal>] AssaysFolderName = "assays"
20+
let [<Literal>] StudiesFolderName = "studies"
21+
let [<Literal>] WorkflowsFolderName = "workflows"
22+
let [<Literal>] RunsFolderName = "runs"
23+
let [<Literal>] AssayProtocolsFolderName = "protocols"
24+
let [<Literal>] AssayDatasetFolderName = "dataset"
25+
let [<Literal>] StudiesProtocolsFolderName = "protocols"
26+
let [<Literal>] StudiesResourcesFolderName = "resources"
27+
28+
29+
30+
//let assaySubFolderNames = [|assayDatasetFolderName;assayProtocolsFolderName|]
31+
932
let split(path: string) =
1033
path.Split(seperators, enum<StringSplitOptions>(3))
1134

@@ -33,4 +56,11 @@ let getFileName (path: string) : string =
3356
/// </summary>
3457
/// <param name="fileName">The name of the file the path should point to.</param>
3558
/// <param name="path">The path to a file.</param>
36-
let isFile (fileName: string) (path: string) = (getFileName path) = fileName
59+
let isFile (fileName: string) (path: string) = (getFileName path) = fileName
60+
61+
62+
let getAssayFolderPath (assayIdentifier: string) =
63+
combine AssaysFolderName assayIdentifier
64+
65+
let getStudyFolderPath (studyIdentifier: string) =
66+
combine StudiesFolderName studyIdentifier

src/ISA/ISA/ARCtrl.ISA.fsproj

+1-6
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,7 @@
44
<TargetFrameworks>netstandard2.0</TargetFrameworks>
55
<GenerateDocumentationFile>true</GenerateDocumentationFile>
66
</PropertyGroup>
7-
<ItemGroup>
8-
<Compile Include="Path.fs" />
7+
<ItemGroup>
98
<Compile Include="Url.fs" />
109
<Compile Include="Regex.fs" />
1110
<Compile Include="Identifier.fs" />
@@ -53,10 +52,6 @@
5352
<Compile Include="ArcTypes\ArcTables.fs" />
5453
<Compile Include="ArcTypes\ArcTypes.fs" />
5554
<Compile Include="ArcTypes\IdentifierSetters.fs" />
56-
<Compile Include="Builder\Types.fs" />
57-
<Compile Include="Builder\ProcessBuilder.fs" />
58-
<Compile Include="Builder\AssayBuilder.fs" />
59-
<Compile Include="Builder\Transform.fs" />
6055
<None Include="../../../build/logo.png" Pack="true" PackagePath="\" />
6156
</ItemGroup>
6257
<ItemGroup>

src/ISA/ISA/Builder/AssayBuilder.fs

-2
This file was deleted.

src/ISA/ISA/Builder/ProcessBuilder.fs

-2
This file was deleted.

src/ISA/ISA/Builder/Transform.fs

-8
This file was deleted.

0 commit comments

Comments
 (0)