|
|
@@ -119,16 +119,16 @@ const getInteractionsFromEntry = async (json:any) => {
|
|
|
comment_subunits_genes = comment_subunits
|
|
|
.flatMap((e:any) => e.replace(/ *\([^)]*\) */g, '').split(/\n/))
|
|
|
.filter((e:any) => /Interacts/.test(e))
|
|
|
- .flatMap((e:any) => e.match(/[A-Z][A-Z0-9]{2,}/g))
|
|
|
+ .flatMap((e:any) => e.match(/ [A-Z][A-Z0-9\-]{2,}/g))
|
|
|
}
|
|
|
|
|
|
let res = [...new Set([...genes_scope_inter, ...genes_interactant, ...comment_subunits_genes])].sort().filter((e:any) => typeof e === 'string').filter(_=>_)
|
|
|
|
|
|
let filterOut = ['PHOSPHOSERINE', 'MOTIFS', 'INFECTION', 'PROTEIN', 'PROTEINS',
|
|
|
- 'MICROBIAL', 'VIRUS', 'HEPATITIS', 'HERPES', 'SIMPLEX', 'RELATED']
|
|
|
- if(res.length > 0) res = res.flatMap((e:any) => e.match(/[A-Z]{2,}[A-Z0-9]{1,}/g)).filter((e:any) => !(filterOut.includes(e)))
|
|
|
+ 'MICROBIAL', 'VIRUS', 'HEPATITIS', 'HERPES', 'SIMPLEX', 'RELATED', 'ARE-']
|
|
|
+ if(res.length > 0) res = res.flatMap((e:any) => e.match(/[A-Z]{2,}[A-Z0-9\-]{1,}/g)).filter((e:any) => !(filterOut.includes(e))).filter((e:any)=> !/-$/.test(e))
|
|
|
|
|
|
- return res.filter(_=>_)
|
|
|
+ return [...new Set(res.filter(_=>_))]
|
|
|
}
|
|
|
|
|
|
// const findDistance = async (idmappingPath: string, dbPath:string, geneNameA:string, geneNameB:string, maxDistance = 6) => {
|